diff --git a/cmake_targets/CMakeLists.txt b/cmake_targets/CMakeLists.txt
index fa704030c6..18ef6108e2 100644
--- a/cmake_targets/CMakeLists.txt
+++ b/cmake_targets/CMakeLists.txt
@@ -20,7 +20,7 @@
# Contact Information
# OpenAirInterface Admin: openair_admin@eurecom.fr
# OpenAirInterface Tech : openair_tech@eurecom.fr
-# OpenAirInterface Dev : openair4g-devel@eurecom.fr
+# OpenAirInterface Dev : openair4g-devel@lists.eurecom.fr
#
# Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
# Author: laurent THOMAS, Lionel GAUTHIER
@@ -340,17 +340,7 @@ add_library(S1AP_ENB
${S1AP_DIR}/s1ap_eNB_ue_context.c
)
-add_library(S1AP_EPC
- ${S1AP_C_DIR}/s1ap_ies_defs.h
- ${S1AP_DIR}/s1ap_mme_encoder.c
- ${S1AP_DIR}/s1ap_mme_decoder.c
- ${S1AP_DIR}/s1ap_mme_handlers.c
- ${S1AP_DIR}/s1ap_mme_nas_procedures.c
- ${S1AP_DIR}/s1ap_mme.c
- ${S1AP_DIR}/s1ap_mme_itti_messaging.c
- ${S1AP_DIR}/s1ap_mme_retransmission.c
- ${S1AP_DIR}/s1ap_mme_ta.c
- )
+
#X2AP
# Same limitation as described in RRC/S1AP: unknown generated file list
@@ -467,8 +457,6 @@ add_boolean_option(USER_MODE True "????")
add_boolean_option(OAI_NW_DRIVER_TYPE_ETHERNET False "????")
add_boolean_option(DISABLE_USE_NAS False "???")
-add_boolean_option(ENABLE_STANDALONE_EPC True "Compile MME, SGW and PGW in a single executable")
-add_boolean_option(EPC_BUILD False "???")
add_boolean_option(LOWLATENCY True "Use the Linux scheduler SCHED_DEADLINE: kernel >= 3.14")
add_boolean_option(NAS_ADDRESS_FIX False "specific to oaisim: for nasmesh driver")
add_boolean_option(NAS_NETLINK False "???? Must be True to compile nasmesh driver without rtai")
@@ -542,10 +530,8 @@ add_boolean_option(USE_3GPP_ADDR_AS_LINK_ADDR False "As per attribute name")
# NAS LAYER OPTIONS
##########################
add_boolean_option(ENABLE_NAS_UE_LOGGING True "????")
-add_boolean_option(NAS_BUILT_IN_EPC False "MME NAS layer not present in this executable")
add_boolean_option(NAS_BUILT_IN_UE True "UE NAS layer present in this executable")
add_boolean_option(NAS_UE True "NAS UE INSTANCE (<> NAS_MME)")
-add_boolean_option(NAS_MME False "NAS_UE and NAS_MME are incompatible options")
##########################
@@ -691,9 +677,6 @@ include_directories("${OPENAIR2_DIR}/UTIL/OMV")
include_directories("${OPENAIR2_DIR}/RRC/LITE/MESSAGES")
include_directories("${OPENAIRCN_DIR}/GTPV1-U/nw-gtpv1u/shared")
include_directories("${OPENAIRCN_DIR}/GTPV1-U/nw-gtpv1u/include")
-include_directories("${OPENAIRCN_DIR}/SGW-LITE")
-include_directories("${OPENAIRCN_DIR}/MME_APP")
-include_directories("${OPENAIRCN_DIR}/S6A")
include_directories("${OPENAIR_DIR}")
# Utilities Library
@@ -1023,42 +1006,6 @@ set (GTPV1U_SRC
)
add_library(GTPV1U ${GTPV1U_SRC})
-set(GTPV2C_DIR ${OPENAIRCN_DIR}/GTPV2-C/nwgtpv2c-0.11/src)
-add_library(GTPV2C
- ${GTPV2C_DIR}/NwGtpv2cTrxn.c
- ${GTPV2C_DIR}/NwGtpv2cTunnel.c
- ${GTPV2C_DIR}/NwGtpv2cMsg.c
- ${GTPV2C_DIR}/NwGtpv2cMsgIeParseInfo.c
- ${GTPV2C_DIR}/NwGtpv2cMsgParser.c
- ${GTPV2C_DIR}/NwGtpv2c.c
- )
-include_directories(${OPENAIRCN_DIR}/GTPV2-C/nwgtpv2c-0.11/include/)
-include_directories(${OPENAIRCN_DIR}/GTPV2-C/nwgtpv2c-0.11/shared/)
-
-execute_process(
- COMMAND /sbin/iptables -V
- OUTPUT_VARIABLE iptables_version
- )
-string(REGEX REPLACE "[a-zA-Z .\r\n]" "" IPTVERSION ${iptables_version})
-string(REGEX REPLACE "[a-zA-Z \r\n]" "" IPTABLES_VERSION_STRING ${iptables_version})
-
-# From original Polaris code, added _lib because cmake doesn't accept two targets with the same name
-# and the driver is also named xt_GTPUSP
-# the _lib suffix is removed during installation in /lib/xtables
-add_library(xt_GTPUSP_lib SHARED ${OPENAIRCN_DIR}/GTPV1-U/GTPU_SP/libxt_GTPUSP.c)
-target_compile_definitions(xt_GTPUSP_lib PRIVATE
--D_LARGEFILE_SOURCE=1
--D_LARGE_FILES
--D_FILE_OFFSET_BITS=64
--D_REENTRANT
--D_INIT=libxt_GTPUSP_init
--DKVERSION=3
--DPIC
-IPTVERSION=${IPTVERSION} -DIPTABLES_VERSION_STRING=\"${IPTABLES_VERSION_STRING}\"
-)
-
-
-
set(SCTP_SRC
${OPENAIRCN_DIR}/SCTP/sctp_common.c
${OPENAIRCN_DIR}/SCTP/sctp_eNB_task.c
@@ -1066,64 +1013,8 @@ set(SCTP_SRC
)
add_library(SCTP_CLIENT ${SCTP_SRC})
-add_library(SCTP_SERVER
- ${OPENAIRCN_DIR}/SCTP/sctp_common.c
- ${OPENAIRCN_DIR}/SCTP/sctp_itti_messaging.c
- ${OPENAIRCN_DIR}/SCTP/sctp_primitives_server.c
- )
-
-
add_library(UDP ${OPENAIRCN_DIR}/UDP/udp_eNB_task.c)
-add_library(UDP_SERVER ${OPENAIRCN_DIR}/UDP/udp_primitives_server.c)
-
-set(S11_DIR ${OPENAIRCN_DIR}/S11)
-add_library(S11
- ${S11_DIR}/s11_common.c
- ${S11_DIR}/s11_ie_formatter.c
- ${S11_DIR}/s11_mme_task.c
- ${S11_DIR}/s11_sgw.c
- ${S11_DIR}/s11_mme_session_manager.c
- ${S11_DIR}/s11_sgw_session_manager.c
- ${S11_DIR}/s11_sgw_bearer_manager.c
-)
-include_directories(${S11_DIR})
-
-set(S6A_DIR ${OPENAIRCN_DIR}/S6A)
-add_library(S6A
- ${S6A_DIR}/s6a_auth_info.c
- ${S6A_DIR}/s6a_dict.c
- ${S6A_DIR}/s6a_error.c
- ${S6A_DIR}/s6a_peer.c
- ${S6A_DIR}/s6a_subscription_data.c
- ${S6A_DIR}/s6a_task.c
- ${S6A_DIR}/s6a_up_loc.c
- )
-
-set(SGW_DIR ${OPENAIRCN_DIR}/SGW-LITE)
-add_library (SGW
- ${SGW_DIR}/spgw_config.c
- ${SGW_DIR}/s11_causes.c
- ${SGW_DIR}/sgw_lite_task.c
- ${SGW_DIR}/sgw_lite_handlers.c
- ${SGW_DIR}/sgw_lite_context_manager.c
- ${SGW_DIR}/pgw_lite_paa.c
- )
-
-set(MME_DIR ${OPENAIRCN_DIR}/MME_APP)
-add_library(MME_APP
- ${MME_DIR}/mme_app_capabilities.c
- ${MME_DIR}/mme_app_context.c
- ${MME_DIR}/mme_app_main.c
- ${MME_DIR}/mme_app_bearer.c
- ${MME_DIR}/mme_app_authentication.c
- ${MME_DIR}/mme_app_location.c
- ${MME_DIR}/mme_app_statistics.c
- ${MME_DIR}/s6a_2_nas_cause.c
- )
-
-
-
set(NAS_SRC ${OPENAIRCN_DIR}/NAS/)
set(libnas_api_OBJS
@@ -1383,99 +1274,6 @@ if(NAS_UE)
include_directories(${NAS_SRC}UE/ESM/SAP)
endif()
-if(NAS_MME)
- set(libnas_mme_api_OBJS
- ${NAS_SRC}MME/API/MME/mme_api.c
- )
- set(libnas_mme_emm_OBJS
- ${NAS_SRC}MME/EMM/Attach.c
- ${NAS_SRC}MME/EMM/Authentication.c
- ${NAS_SRC}MME/EMM/Detach.c
- ${NAS_SRC}MME/EMM/EmmCommon.c
- ${NAS_SRC}MME/EMM/emm_data_ctx.c
- ${NAS_SRC}MME/EMM/emm_main.c
- ${NAS_SRC}MME/EMM/EmmStatusHdl.c
- ${NAS_SRC}MME/EMM/Identification.c
- ${NAS_SRC}MME/EMM/IdleMode.c
- ${NAS_SRC}MME/EMM/LowerLayer.c
- ${NAS_SRC}MME/EMM/SecurityModeControl.c
- ${NAS_SRC}MME/EMM/ServiceRequestHdl.c
- ${NAS_SRC}MME/EMM/TrackingAreaUpdate.c
- )
- set(libnas_mme_emm_sap_OBJS
- ${NAS_SRC}MME/EMM/SAP/emm_as.c
- ${NAS_SRC}MME/EMM/SAP/emm_cn.c
- ${NAS_SRC}MME/EMM/SAP/EmmCommonProcedureInitiated.c
- ${NAS_SRC}MME/EMM/SAP/EmmDeregisteredAttachNeeded.c
- ${NAS_SRC}MME/EMM/SAP/EmmDeregisteredAttemptingToAttach.c
- ${NAS_SRC}MME/EMM/SAP/EmmDeregistered.c
- ${NAS_SRC}MME/EMM/SAP/EmmDeregisteredInitiated.c
- ${NAS_SRC}MME/EMM/SAP/EmmDeregisteredLimitedService.c
- ${NAS_SRC}MME/EMM/SAP/EmmDeregisteredNoCellAvailable.c
- ${NAS_SRC}MME/EMM/SAP/EmmDeregisteredNoImsi.c
- ${NAS_SRC}MME/EMM/SAP/EmmDeregisteredNormalService.c
- ${NAS_SRC}MME/EMM/SAP/EmmDeregisteredPlmnSearch.c
- ${NAS_SRC}MME/EMM/SAP/emm_esm.c
- ${NAS_SRC}MME/EMM/SAP/emm_fsm.c
- ${NAS_SRC}MME/EMM/SAP/EmmNull.c
- ${NAS_SRC}MME/EMM/SAP/emm_recv.c
- ${NAS_SRC}MME/EMM/SAP/emm_reg.c
- ${NAS_SRC}MME/EMM/SAP/EmmRegisteredAttemptingToUpdate.c
- ${NAS_SRC}MME/EMM/SAP/EmmRegistered.c
- ${NAS_SRC}MME/EMM/SAP/EmmRegisteredImsiDetachInitiated.c
- ${NAS_SRC}MME/EMM/SAP/EmmRegisteredInitiated.c
- ${NAS_SRC}MME/EMM/SAP/EmmRegisteredLimitedService.c
- ${NAS_SRC}MME/EMM/SAP/EmmRegisteredNoCellAvailable.c
- ${NAS_SRC}MME/EMM/SAP/EmmRegisteredNormalService.c
- ${NAS_SRC}MME/EMM/SAP/EmmRegisteredPlmnSearch.c
- ${NAS_SRC}MME/EMM/SAP/EmmRegisteredUpdateNeeded.c
- ${NAS_SRC}MME/EMM/SAP/emm_sap.c
- ${NAS_SRC}MME/EMM/SAP/emm_send.c
- ${NAS_SRC}MME/EMM/SAP/EmmServiceRequestInitiated.c
- ${NAS_SRC}MME/EMM/SAP/EmmTrackingAreaUpdatingInitiated.c
- )
- set (libnas_mme_esm_OBJS
- ${NAS_SRC}MME/ESM/DedicatedEpsBearerContextActivation.c
- ${NAS_SRC}MME/ESM/DefaultEpsBearerContextActivation.c
- ${NAS_SRC}MME/ESM/EpsBearerContextDeactivation.c
- ${NAS_SRC}MME/ESM/esm_ebr.c
- ${NAS_SRC}MME/ESM/esm_ebr_context.c
- ${NAS_SRC}MME/ESM/esm_ip.c
- ${NAS_SRC}MME/ESM/esm_main.c
- ${NAS_SRC}MME/ESM/esm_pt.c
- ${NAS_SRC}MME/ESM/EsmStatusHdl.c
- ${NAS_SRC}MME/ESM/PdnConnectivity.c
- ${NAS_SRC}MME/ESM/PdnDisconnect.c
- )
- set(libnas_mme_esm_sap_OBJS
- ${NAS_SRC}MME/ESM/SAP/esm_recv.c
- ${NAS_SRC}MME/ESM/SAP/esm_send.c
- ${NAS_SRC}MME/ESM/SAP/esm_sap.c
- )
- add_library(LIB_NAS_MME
- ${NAS_SRC}MME/nas_itti_messaging.c
- ${NAS_SRC}MME/nas_network.c
- ${NAS_SRC}MME/nas_parser.c
- ${NAS_SRC}MME/nas_proc.c
- ${libnas_api_OBJS}
- ${libnas_mme_api_OBJS}
- ${libnas_emm_msg_OBJS}
- ${libnas_esm_msg_OBJS}
- ${libnas_ies_OBJS}
- ${libnas_utils_OBJS}
- ${libnas_mme_emm_OBJS}
- ${libnas_mme_emm_sap_OBJS}
- ${libnas_mme_esm_OBJS}
- ${libnas_mme_esm_sap_OBJS}
- )
- include_directories(${NAS_SRC}MME)
- include_directories(${NAS_SRC}MME/API/MME)
- include_directories(${NAS_SRC}MME/EMM)
- include_directories(${NAS_SRC}MME/EMM/SAP)
- include_directories(${NAS_SRC}MME/ESM)
- include_directories(${NAS_SRC}MME/ESM/SAP)
-endif()
-
# Make lfds as a own source code (even if it is a outside library)
@@ -1667,112 +1465,6 @@ target_link_libraries (lte-softmodem-nos1 ${LIBBOOST_LIBRARIES})
-# EPC is ??? nodes implementation in one process
-################################
-add_executable(mme_gw
- ${OPENAIR_BIN_DIR}/messages_xml.h
- ${OPENAIRCN_DIR}/OAI_EPC/oai_epc_log.c
- ${OPENAIRCN_DIR}/OAI_EPC/oai_epc.c
- ${GTPV1U_DIR}/gtpv1u_task.c
- ${OPENAIRCN_DIR}/SCTP/sctp_primitives_server.c
- ${OPENAIRCN_DIR}/NAS/MME/nas_mme_task.c
- )
-target_link_libraries (mme_gw
- -Wl,--start-group
- LIB_NAS_MME S1AP_LIB S1AP_EPC GTPV1U GTPV2C SCTP_SERVER UDP_SERVER SECU_CN SECU_OSA S6A SGW MME_APP LFDS ${MSC_LIB} ${ITTI_LIB} CN_UTILS HASHTABLE
- -Wl,--end-group
- pthread m sctp rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} ${NETTLE_LIBRARIES} ${CONFIG_LIBRARIES} fdproto fdcore
- )
-
-
-# Default parameters
-# Does not work on simple install (fqdn in /etc/hosts 127.0.1.1)
-#cmake_host_system_information(RESULT HSS_FQDN_STR QUERY FQDN)
-#cmake_host_system_information(RESULT MME_FQDN_STR QUERY FQDN)
-IF( EPC_BUILD )
- INCLUDE(FindFreeDiameter)
- # if standalone eNB or UE no need for FreeDiameter
- IF( FREEDIAMETER_FOUND )
- IF( NOT FREEDIAMETER_HSS_S6A_ENABLED )
- MESSAGE( SEND_ERROR "FreeDiameter is not enabled for OPENAIRHSS" )
- ENDIF( NOT FREEDIAMETER_HSS_S6A_ENABLED )
- ENDIF( FREEDIAMETER_FOUND )
-
-
- execute_process(COMMAND hostname --fqdn OUTPUT_VARIABLE HSS_FQDN_STR TIMEOUT 3)
- execute_process(COMMAND hostname --fqdn OUTPUT_VARIABLE MME_FQDN_STR TIMEOUT 3)
- string(STRIP ${HSS_FQDN_STR} HSS_FQDN_STR)
- string(STRIP ${MME_FQDN_STR} MME_FQDN_STR)
-
- set(HSS_IP 127.0.1.1 CACHE STRING "HSS IP address, default is local")
- set(MME_FQDN ${MME_FQDN_STR} CACHE STRING "MME Fully qualified domain name")
- set(HSS_FQDN ${HSS_FQDN_STR} CACHE STRING "HSS Fully qualified domain name")
- set(TRANSPORT_option "#No_TCP" CACHE STRING "No_TCP or No_SCTP or comment string, FreeDiameter config option")
- set(TRANSPORT_PREFER_TCP_option "#Prefer_TCP" CACHE STRING "Prefer_TCP or comment string, FreeDiameter config option")
- IF( NOT DEFINED REALM )
- string(FIND ${MME_FQDN} "." pos)
- math(EXPR pos1 "${pos}+1")
- string(SUBSTRING ${MME_FQDN} ${pos1} -1 realm_string)
- message("REALM extracted from MME FQDN is ${realm_string}")
- set(REALM ${realm_string} CACHE STRING "EPC realm")
- ENDIF( NOT DEFINED REALM )
- message("REALM is ${REALM}")
- IF( NOT DEFINED MME_HOSTNAME )
- string(FIND ${MME_FQDN} "." pos)
- string(SUBSTRING ${MME_FQDN} 0 ${pos} mme_hostname_string)
- message("MME_HOSTNAME extracted from MME FQDN is ${mme_hostname_string}")
- set(MME_HOSTNAME ${mme_hostname_string} CACHE STRING "MME hostname")
- ENDIF( NOT DEFINED MME_HOSTNAME )
- IF( NOT DEFINED HSS_HOSTNAME )
- string(FIND ${HSS_FQDN} "." pos)
- string(SUBSTRING ${HSS_FQDN} 0 ${pos} hss_hostname_string)
- message("HSS_HOSTNAME extracted from HSS FQDN is ${hss_hostname_string}")
- set(HSS_HOSTNAME ${hss_hostname_string} CACHE STRING "HSS hostname")
- ENDIF( NOT DEFINED HSS_HOSTNAME )
-
- if ( ${MME_HOSTNAME} STREQUAL ${HSS_HOSTNAME} )
- set(MME_S6A_IS_SERVER 1 )
- endif( ${MME_HOSTNAME} STREQUAL ${HSS_HOSTNAME} )
-
- IF( MME_S6A_IS_SERVER )
- set(ConnectPeer "#ConnectPeer" CACHE STRING "HSS connect to MME")
- set(DIAMETER_PORT "Port = 3870" CACHE STRING "Diameter bind port, 3868 is always used by default by HSS, even if HSS client")
- set(DIAMETER_SEC_PORT "SecPort = 3871" CACHE STRING "Diameter bind sec port")
- ELSE( MME_S6A_IS_SERVER )
- set(ConnectPeer "#ConnectPeer" CACHE STRING "HSS act as a server")
- set(DIAMETER_PORT "#Port = 3870" CACHE STRING "Diameter bind port")
- set(DIAMETER_SEC_PORT "#SecPort = 3871" CACHE STRING "Diameter bind sec port")
- ENDIF( MME_S6A_IS_SERVER )
-
- execute_process(COMMAND sudo ${OPENAIR_CMAKE}/tools/check_mme_s6a_certificate ${FREEDIAMETER_PATH}/.. ${MME_FQDN} WORKING_DIRECTORY ${OPENAIR_CMAKE})
-
- configure_file(
- ${OPENAIR_CMAKE}/tools/s6a.conf.in
- ${CMAKE_CURRENT_BINARY_DIR}/mme_fd.conf)
- configure_file(
- ${OPENAIR_CMAKE}/tools/epc.local.enb.conf.in
- ${CMAKE_CURRENT_BINARY_DIR}/epc.local.enb.conf)
- configure_file(
- ${OPENAIR_CMAKE}/tools/epc.conf.in
- ${CMAKE_CURRENT_BINARY_DIR}/epc.conf)
-ENDIF( EPC_BUILD )
-
-# oai_sgw is SGW node implementation
-################################
-add_executable(oai_sgw
- ${OPENAIR_BIN_DIR}/messages_xml.h
- ${OPENAIRCN_DIR}/OAI_SGW/oai_sgw_log.c
- ${OPENAIRCN_DIR}/OAI_SGW/oai_sgw.c
- )
-target_link_libraries (oai_sgw
- -Wl,--start-group
- GTPV1U SECU_CN SECU_OSA S6A SGW CN_UTILS LFDS ${MSC_LIB} ${ITTI_LIB}
- -Wl,--end-group
- pthread m sctp rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} ${NETTLE_LIBRARIES} ${CONFIG_LIBRARIES} fdproto fdcore
- )
-
-
-
# rrh
################################
set(DRIVER2013)
@@ -1918,49 +1610,6 @@ foreach(myExe dlsim ulsim pbchsim scansim mbmssim pdcchsim pucchsim prachsim syn
)
endforeach(myExe)
-#unitary tests for Core NEtwork pieces
-#################################
-foreach(myExe s1ap
- secu_knas_encrypt_eia1
- secu_kenb
- aes128_ctr_encrypt
- aes128_ctr_decrypt
- secu_knas_encrypt_eea2
- secu_knas secu_knas_encrypt_eea1
- kdf
- aes128_cmac_encrypt
- secu_knas_encrypt_eia2)
- add_executable(test_${myExe}
- ${OPENAIRCN_DIR}/TEST/test_util.c
- ${OPENAIRCN_DIR}/TEST/test_${myExe}.c
- )
- target_link_libraries (test_${myExe}
- -Wl,--start-group SECU_CN UTIL LFDS -Wl,--end-group m rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} ${NETTLE_LIBRARIES} ${CONFIG_LIBRARIES} fdproto fdcore
- )
-endforeach(myExe)
-
-add_executable(test_s1c_mme
- ${OPENAIRCN_DIR}/TEST/oaisim_mme_test_s1c.c
- ${OPENAIRCN_DIR}/TEST/oaisim_mme_test_s1c_scenario.h
- ${OPENAIRCN_DIR}/TEST/oaisim_mme_test_s1c_scenario1.c
- ${OPENAIRCN_DIR}/TEST/oaisim_mme_test_s1c_scenario.c
- ${OPENAIRCN_DIR}/TEST/oaisim_mme_test_s1c_scenario.h
- ${OPENAIRCN_DIR}/TEST/oaisim_mme_test_s1c_s1ap.c
- ${OPENAIRCN_DIR}/TEST/oaisim_mme_test_s1c_s1ap.h
- ${OPENAIR2_DIR}/ENB_APP/enb_config.c
- ${OPENAIR2_DIR}/ENB_APP/enb_config.h
- ${OPENAIR2_DIR}/COMMON/commonDef.h
- ${OPENAIR2_DIR}/COMMON/messages_def.h
- ${OPENAIR2_DIR}/COMMON/messages_types.h
- ${OPENAIRCN_DIR}/S1AP/s1ap_eNB_defs.h
- ${S1AP_DIR}/s1ap_eNB_management_procedures.c
- ${OPENAIR_BIN_DIR}/messages_xml.h
- )
-target_link_libraries (test_s1c_mme
- -Wl,--start-group SECU_CN S1AP_LIB SCTP_CLIENT UTIL LFDS ${ITTI_LIB} -Wl,--end-group pthread m rt crypt sctp ${LIBXML2_LIBRARIES} ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} ${NETTLE_LIBRARIES} ${CONFIG_LIBRARIES} fdproto fdcore
- )
-
-
add_executable(test_epc_generate_scenario
${OPENAIRCN_DIR}/TEST/EPC_TEST/generate_scenario.c
${OPENAIR2_DIR}/ENB_APP/enb_config.h
@@ -1971,30 +1620,15 @@ add_executable(test_epc_generate_scenario
${OPENAIR_BIN_DIR}/messages_xml.h
)
target_link_libraries (test_epc_generate_scenario
- -Wl,--start-group SECU_CN S1AP_LIB UTIL S1AP_ENB LIB_NAS_UE LFDS ${ITTI_LIB} -Wl,--end-group pthread m rt crypt sctp ${LIBXML2_LIBRARIES} ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} ${NETTLE_LIBRARIES} ${CONFIG_LIBRARIES}
+ -Wl,--start-group RRC_LIB S1AP_LIB S1AP_ENB X2AP_LIB GTPV1U LIB_NAS_UE SECU_CN UTIL HASHTABLE SCTP_CLIENT UDP SCHED_LIB PHY LFDS ${MSC_LIB} L2 -Wl,--end-group pthread m rt crypt sctp ${LIBXML2_LIBRARIES} ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} ${NETTLE_LIBRARIES} ${CONFIG_LIBRARIES}
)
-
# to be added
#../targets/TEST/PDCP/test_pdcp.c
#../targets/TEST/PDCP/with_rlc/test_pdcp_rlc.c
-# ???
-###########################
-#add_executable(oaisim_mme
-# ${OPENAIR_BIN_DIR}/messages_xml.h
-# ${OPENAIRCN_DIR}/OAISIM_MME/oai_mme_log.c
-# ${OPENAIRCN_DIR}/OAISIM_MME/oaisim_mme.c
-# ${OPENAIRCN_DIR}/NAS/nas_main.c
-#)
-#target_link_libraries (oaisim_mme
-# -Wl,--start-group
-# NAS S1AP_LIB S1AP_EPC GTPV1U GTPV2C SCTP_SERVER UDP_SERVER SECU_CN SECU_OSA S6A S11 SGW MME_APP LFDS MSC ${ITTI_LIB} CN_UTILS HASHTABLE
-# -Wl,--end-group
-# pthread m sctp rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} ${NETTLE_LIBRARIES} ${CONFIG_LIBRARIES} fdproto fdcore
-#)
##################################################
@@ -2124,15 +1758,6 @@ if(OAI_NW_DRIVER_USE_NETLINK)
endif()
make_driver(ue_ip ${OPENAIR2_DIR}/NETWORK_DRIVER/UE_IP ${ue_ip_src})
-# GTP
-########################
-# KVERSION is not used in the code, but required
-set(module_cc_opt "${module_cc_opt} -DKVERSION=3")
-make_driver(xt_GTPUSP ${OPENAIRCN_DIR}/GTPV1-U/GTPU_SP "")
-
-# add the install targets
-#install (TARGETS Tutorial DESTINATION bin)
-#install (FILES "${PROJECT_BIN_DIR}/TutorialConfig.h" DESTINATION include)
# OCTAVE tools
###############
diff --git a/cmake_targets/at_commands/CMakeLists.txt b/cmake_targets/at_commands/CMakeLists.txt
index cfdb6ec2aa..e03e876bd4 100755
--- a/cmake_targets/at_commands/CMakeLists.txt
+++ b/cmake_targets/at_commands/CMakeLists.txt
@@ -20,7 +20,7 @@
# Contact Information
# OpenAirInterface Admin: openair_admin@eurecom.fr
# OpenAirInterface Tech : openair_tech@eurecom.fr
-# OpenAirInterface Dev : openair4g-devel@eurecom.fr
+# OpenAirInterface Dev : openair4g-devel@lists.eurecom.fr
#
# Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
# Author: Lionel GAUTHIER
diff --git a/cmake_targets/build_oai b/cmake_targets/build_oai
index 24fc3c521f..f9cd26cf86 100755
--- a/cmake_targets/build_oai
+++ b/cmake_targets/build_oai
@@ -1,30 +1,32 @@
#!/bin/bash
################################################################################
-# OpenAirInterface
-# Copyright(c) 1999 - 2014 Eurecom
#
-# OpenAirInterface is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) anylater version.
+# Copyright (c) 2015, EURECOM (www.eurecom.fr)
+# All rights reserved.
#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
#
-# OpenAirInterface is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
+# 1. Redistributions of source code must retain the above copyright notice, this
+# list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright notice,
+# this list of conditions and the following disclaimer in the documentation
+# and/or other materials provided with the distribution.
#
-# You should have received a copy of the GNU General Public License
-# along with OpenAirInterface.The full GNU General Public License is
-# included in this distribution in the file called "COPYING". If not,
-# see .
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
-# Contact Information
-# OpenAirInterface Admin: openair_admin@eurecom.fr
-# OpenAirInterface Tech : openair_tech@eurecom.fr
-# OpenAirInterface Dev : openair4g-devel@eurecom.fr
-#
-# Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
+# The views and conclusions contained in the software and documentation are those
+# of the authors and should not be interpreted as representing official policies,
+# either expressed or implied, of the FreeBSD Project.
#
################################################################################
# file build_oai
diff --git a/cmake_targets/epc_build_oai/CMakeLists.template b/cmake_targets/epc_build_oai/CMakeLists.template
deleted file mode 100644
index da80f6d4d2..0000000000
--- a/cmake_targets/epc_build_oai/CMakeLists.template
+++ /dev/null
@@ -1,88 +0,0 @@
-cmake_minimum_required(VERSION 2.8)
-
-set ( CMAKE_BUILD_TYPE "RelWithDebInfo" )
-set ( ADDR_CONF False )
-set ( BYTE_ORDER=LITTLE_ENDIAN )
-set ( DEBUG_OMG False )
-set ( DISABLE_ITTI_DETECT_SUB_TASK_ID True )
-set ( DISABLE_XER_PRINT False )
-set ( DRIVER2013 False )
-set ( EMOS False )
-set ( ENABLE_FXP False )
-set ( ENABLE_ITTI True )
-set ( ENABLE_NAS_UE_LOGGING False )
-set ( ENABLE_NEW_MULTICAST False )
-set ( ENABLE_PGM_TRANSPORT False )
-set ( ENABLE_RAL False )
-set ( ENABLE_SECURITY False )
-set ( ENABLE_STANDALONE_EPC True )
-set ( ENABLE_USE_CPU_EXECUTION_TIME False )
-set ( ENABLE_USE_MME False )
-set ( ENABLE_VCD_FIFO False )
-set ( ENB_MODE False )
-set ( EPC_BUILD True )
-set ( EXMIMO_IOT False )
-set ( FLAG_GTPV1U_KERNEL_THREAD_SOCK_NO_WAIT False)
-set ( HARD_RT False )
-set ( JUMBO_FRAME False )
-set ( LARGE_SCALE False )
-set ( LINK_ENB_PDCP_TO_GTPV1U False )
-set ( LINUX_LIST False )
-set ( LINUX False )
-set ( LOCALIZATION False )
-set ( LOG_NO_THREAD False )
-set ( LOWLATENCY False )
-set ( MAC_CONTEXT 1 )
-set ( MAX_NUM_CCs 1 )
-set ( MESSAGE_CHART_GENERATOR True)
-set ( MIH_C_MEDIEVAL_EXTENSIONS False )
-set ( MSG_PRINT False )
-set ( MU_RECEIVER False )
-set ( NAS_ADDRESS_FIX False )
-set ( NAS_BUILT_IN_EPC True )
-set ( NAS_DEBUG True )
-set ( NAS_MME True )
-set ( NAS_NETLINK False )
-set ( NAS_UE False )
-set ( NB_ANTENNAS_RX "2" )
-set ( NB_ANTENNAS_TX "2" )
-set ( NB_ANTENNAS_TXRX "2" )
-set ( NEW_FFT False )
-set ( NO_RRM False )
-set ( OAI_EMU False )
-set ( OAISIM False )
-set ( OAI_NW_DRIVER_TYPE_ETHERNET False )
-set ( OAI_NW_DRIVER_USE_NETLINK False )
-set ( OPENAIR1 False )
-set ( OPENAIR2 False )
-set ( OPENAIR_EMU False )
-set ( OPENAIR_LTE False )
-set ( PACKAGE_NAME "EPC" )
-set ( PBS_SIM False )
-set ( PC_DSP False )
-set ( PC_TARGET False )
-set ( PDCP_MSG_PRINT False )
-set ( PERFECT_CE False )
-set ( PHY_ABSTRACTION False )
-set ( PHY_CONTEXT False )
-set ( PHY_EMUL False )
-set ( PHYSIM False )
-set ( PUCCH False )
-set ( RANDOM_BF False )
-set ( RF_BOARD "False" )
-set ( RRC_ASN1_VERSION "Rel10" )
-set ( RLC_STOP_ON_LOST_PDU False )
-set ( RRC_MSG_PRINT False )
-set ( RTAI False )
-set ( S1AP_DEBUG_LIST True )
-set ( SECU False )
-set ( SMBV False )
-set ( SPECTRA False )
-set ( TEST_OMG False )
-set ( UPDATE_RELEASE_9 True)
-set ( UPDATE_RELEASE_10 True)
-set ( USE_3GPP_ADDR_AS_LINK_ADDR False )
-set ( USE_MME "R10" )
-set ( USER_MODE True )
-set ( XER_PRINT False )
-set ( XFORMS False )
diff --git a/cmake_targets/epc_test/CMakeLists.template b/cmake_targets/epc_test/CMakeLists.template
new file mode 100644
index 0000000000..25d94ea852
--- /dev/null
+++ b/cmake_targets/epc_test/CMakeLists.template
@@ -0,0 +1,77 @@
+cmake_minimum_required(VERSION 2.8)
+
+set ( CMAKE_BUILD_TYPE "RelWithDebInfo" )
+set ( ADDR_CONF False )
+set ( DEBUG_OMG False )
+set ( DISABLE_XER_PRINT False )
+set ( DRIVER2013 True )
+set ( EMOS False )
+set ( ENABLE_FXP True )
+set ( ENABLE_ITTI True )
+set ( ENABLE_NAS_UE_LOGGING True )
+set ( ENABLE_NEW_MULTICAST True )
+set ( ENABLE_PGM_TRANSPORT True )
+set ( ENABLE_SECURITY True )
+set ( ENABLE_STANDALONE_EPC False)
+set ( ENABLE_USE_CPU_EXECUTION_TIME True )
+set ( ENABLE_USE_MME True )
+set ( ENABLE_USE_RAW_SOCKET_FOR_SGI True)
+set ( ENABLE_VCD_FIFO False )
+set ( ENB_MODE True )
+set ( EXMIMO_IOT True )
+set ( HARD_RT False )
+set ( JUMBO_FRAME True )
+set ( LARGE_SCALE False )
+set ( LINK_ENB_PDCP_TO_GTPV1U True)
+set ( LINUX_LIST False )
+set ( LINUX True )
+set ( LOCALIZATION False )
+set ( LOG_NO_THREAD True )
+set ( LOWLATENCY False )
+set ( MAC_CONTEXT 1 )
+set ( MAX_NUM_CCs 1 )
+set ( MESSAGE_CHART_GENERATOR False)
+set ( MIH_C_MEDIEVAL_EXTENSIONS False )
+set ( MSG_PRINT False )
+set ( MU_RECEIVER False )
+set ( NAS_ADDRESS_FIX False )
+set ( NAS_BUILT_IN_UE True)
+set ( NAS_MME False )
+set ( NAS_UE True )
+set ( NB_ANTENNAS_RX "2" )
+set ( NB_ANTENNAS_TX "2" )
+set ( NB_ANTENNAS_TXRX "2" )
+set ( NEW_FFT True )
+set ( NO_RRM True )
+set ( OAI_EMU False )
+set ( OAISIM False )
+set ( OAI_NW_DRIVER_TYPE_ETHERNET False )
+set ( OAI_NW_DRIVER_USE_NETLINK True )
+set ( OPENAIR1 False )
+set ( OPENAIR2 False )
+set ( OPENAIR_LTE F )
+set ( PACKAGE_NAME "epc_test" )
+set ( PBS_SIM False )
+set ( PDCP_USE_NETLINK True )
+set ( PC_DSP True )
+set ( PC_TARGET True )
+set ( PDCP_MSG_PRINT False )
+set ( PERFECT_CE False )
+set ( PHY_ABSTRACTION True )
+set ( PHY_CONTEXT False )
+set ( PHY_EMUL False )
+set ( PHYSIM True )
+set ( PUCCH True )
+set ( RANDOM_BF False )
+set ( RF_BOARD "False" )
+set ( RLC_STOP_ON_LOST_PDU False )
+set ( RRC_ASN1_VERSION "Rel10" )
+set ( RRC_DEFAULT_RAB_IS_AM True)
+set ( RRC_MSG_PRINT False )
+set ( RTAI False )
+set ( SECU False )
+set ( SMBV False )
+set ( TEST_OMG False )
+set ( USE_MME "R10" )
+set ( USER_MODE True )
+set ( XER_PRINT False )
diff --git a/cmake_targets/hss_build/CMakeLists.txt b/cmake_targets/hss_build/CMakeLists.txt
deleted file mode 100755
index ae4655be21..0000000000
--- a/cmake_targets/hss_build/CMakeLists.txt
+++ /dev/null
@@ -1,326 +0,0 @@
-################################################################################
-# OpenAirInterface
-# Copyright(c) 1999 - 2014 Eurecom
-#
-# OpenAirInterface is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# OpenAirInterface is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with OpenAirInterface.The full GNU General Public License is
-# included in this distribution in the file called "COPYING". If not,
-# see .
-#
-# Contact Information
-# OpenAirInterface Admin: openair_admin@eurecom.fr
-# OpenAirInterface Tech : openair_tech@eurecom.fr
-# OpenAirInterface Dev : openair4g-devel@eurecom.fr
-#
-# Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-# Author: Lionel GAUTHIER
-###############################################################################
-cmake_minimum_required(VERSION 2.8)
-set(CMAKE_VERBOSE_MAKEFILE ON)
-
-
-project(HSS)
-
-
-ENABLE_LANGUAGE(C)
-#Sends the -std=c99 flag to the gcc compiler
-#add_definitions(-std=c99)
-
-ADD_DEFINITIONS(-D_GNU_SOURCE)
-
-if( NOT DEFINED OPENAIR_DIR)
- message(SEND_ERROR "OPENAIR_DIR not set: ${OPENAIR_DIR}")
-endif( NOT DEFINED OPENAIR_DIR)
-
-set(OPENAIR1_DIR ${OPENAIR_DIR}/openair1)
-set(OPENAIR2_DIR ${OPENAIR_DIR}/openair2)
-set(OPENAIR3_DIR ${OPENAIR_DIR}/openair3)
-set(OPENAIRCN_DIR ${OPENAIR_DIR}/openair-cn)
-set(OPENAIR_TARGETS ${OPENAIR_DIR}/targets)
-set(OPENAIR_CMAKE_SCRIPTS ${OPENAIR_DIR}/cmake_targets/tools)
-set(OPENAIRHSS_DIR ${OPENAIRCN_DIR}/OPENAIRHSS)
-set(OPENAIR_BIN_DIR ${OPENAIR_TARGETS}/bin)
-
-
-set(CMAKE_MODULE_PATH "${OPENAIR_DIR}/cmake_targets/tools/MODULES" "${CMAKE_MODULE_PATH}")
-
-macro(add_option name val helpstr)
- if(DEFINED ${name})
- set(value ${${name}})
- else(DEFINED ${name})
- set(value ${val})
- endif()
- set(${name} ${value} CACHE STRING "${helpstr}")
- add_definitions("-D${name}=${value}")
-endmacro(add_option)
-
-
-# compilation flags
-# added CMAKER conditional compilation to not bother legacy building system
-#############################################
-if(NOT CMAKE_BUILD_TYPE)
-set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING "Choose the type of build, options are: None(CMAKE_CXX_FLAGS or CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel." FORCE)
-endif()
-set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS Debug Release RelWithDebInfo MinSizeRel)
-
-#
-set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -msse4.2 -std=gnu99 -Wall -Wstrict-prototypes -fno-strict-aliasing -rdynamic -funroll-loops -Wno-packed-bitfield-compat -DCMAKER")
-set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -ggdb -DMALLOC_CHECK_=3")
-set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} -ggdb -DMALLOC_CHECK_=3 -O2")
-
-
-INCLUDE(FindMySQL)
-IF( NOT MySQL_FOUND )
- MESSAGE( SEND_ERROR "MySQL Client is required" )
-ENDIF( NOT MySQL_FOUND )
-
-INCLUDE(FindNettle)
-IF( NOT NETTLE_FOUND )
- MESSAGE( SEND_ERROR "Nettle is required" )
-ENDIF( NOT NETTLE_FOUND )
-
-
-
-INCLUDE(FindFreeDiameter)
-IF( NOT FREEDIAMETER_FOUND )
- MESSAGE( SEND_ERROR "FreeDiameter is required (use OAI installer)" )
-ENDIF( NOT FREEDIAMETER_FOUND )
-IF( NOT FREEDIAMETER_HSS_S6A_ENABLED )
- MESSAGE( SEND_ERROR "FreeDiameter is not enabled for OPENAIRHSS" )
-ENDIF( NOT FREEDIAMETER_HSS_S6A_ENABLED )
-add_definitions("-DFREEDIAMETER_VERSION=${FREEDIAMETER_VERSION}")
-
-find_package(BISON REQUIRED)
-find_package(FLEX REQUIRED)
-
-set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
-find_package(Threads REQUIRED)
-
-#find_package(Subversion)
-#if(SUBVERSION_FOUND)
-# Subversion_WC_INFO(${OPENAIR_DIR} openair)
-# set (PACKAGE_VERSION "${openair_WC_REVISION} - ${openair_WC_LAST_CHANGED_DATE}")
-# Subversion_WC_LOG(${OPENAIR_DIR} openair)
-# message("Last changed log is ${openair_LAST_CHANGED_LOG}")
-# add_definitions("-DPACKAGE_VERSION=\"${PACKAGE_VERSION}\"")
-#else()
-set (PACKAGE_VERSION "No svn information")
-#endif()
-
-add_definitions("-DPACKAGE_NAME=\"OPENAIRHSS\"")
-
-
-################################################################################
-# ACCESS RESTRICTION LIB
-################################################################################
-set(ar_SRC
- ${OPENAIRHSS_DIR}/access_restriction/access_restriction.c
-)
-set(ar_HDR
- ${OPENAIRHSS_DIR}/access_restriction/access_restriction.h
- ${OPENAIRHSS_DIR}/utils/conversion.h
-)
-
-add_library(hss_access_restriction ${ar_SRC} ${ar_HDR})
-target_include_directories(hss_access_restriction PRIVATE ${OPENAIRHSS_DIR}/utils)
-
-
-################################################################################
-# AUC LIB
-################################################################################
-set(auc_SRC
- ${OPENAIRHSS_DIR}/auc/fx.c
- ${OPENAIRHSS_DIR}/auc/kdf.c
- ${OPENAIRHSS_DIR}/auc/random.c
- ${OPENAIRHSS_DIR}/auc/rijndael.c
- ${OPENAIRHSS_DIR}/auc/sequence_number.c
-)
-set(auc_HDR
- ${OPENAIRHSS_DIR}/auc/auc.h
-)
-
-add_library(hss_auc ${auc_SRC} ${auc_HDR})
-
-
-################################################################################
-# DB LIB
-################################################################################
-set(db_SRC
- ${OPENAIRHSS_DIR}/db/db_connector.c
- ${OPENAIRHSS_DIR}/db/db_epc_equipment.c
- ${OPENAIRHSS_DIR}/db/db_subscription_data.c
-)
-set(db_HDR
- ${OPENAIRHSS_DIR}/db/db_proto.h
- ${OPENAIRHSS_DIR}/utils/hss_config.h
-)
-
-add_library(hss_db ${db_SRC} ${db_HDR})
-target_include_directories(hss_db PRIVATE ${OPENAIRHSS_DIR}/utils)
-
-
-################################################################################
-# S6A LIB
-################################################################################
-set(s6a_SRC
- ${OPENAIRHSS_DIR}/s6a/s6a_auth_info.c
- ${OPENAIRHSS_DIR}/s6a/s6a_common.c
- ${OPENAIRHSS_DIR}/s6a/s6a_error.c
- ${OPENAIRHSS_DIR}/s6a/s6a_fd.c
- ${OPENAIRHSS_DIR}/s6a/s6a_in_addr.c
- ${OPENAIRHSS_DIR}/s6a/s6a_peers.c
- ${OPENAIRHSS_DIR}/s6a/s6a_purge_ue.c
- ${OPENAIRHSS_DIR}/s6a/s6a_subscription_data.c
- ${OPENAIRHSS_DIR}/s6a/s6a_supported_features.c
- ${OPENAIRHSS_DIR}/s6a/s6a_up_loc.c
-)
-set(s6a_HDR
- ${OPENAIRHSS_DIR}/s6a/s6a_proto.h
- ${OPENAIRHSS_DIR}/db/db_proto.h
- ${OPENAIRHSS_DIR}/utils/hss_config.h
- ${OPENAIRHSS_DIR}/auc/auc.h
- ${OPENAIRHSS_DIR}/access_restriction/access_restriction.h
-)
-
-add_library(hss_s6a ${s6a_SRC} ${s6a_HDR})
-target_include_directories(hss_s6a PRIVATE ${OPENAIRHSS_DIR}/utils)
-target_include_directories(hss_s6a PRIVATE ${OPENAIRHSS_DIR}/db)
-target_include_directories(hss_s6a PRIVATE ${OPENAIRHSS_DIR}/auc)
-target_include_directories(hss_s6a PRIVATE ${OPENAIRHSS_DIR}/access_restriction)
-target_include_directories(hss_s6a PRIVATE ${FREEDIAMETER_INCLUDE_DIR})
-
-################################################################################
-# UTILS LIB
-################################################################################
-# Create target for the parser
- ADD_CUSTOM_TARGET(HSSParser echo "Creating hss_parser.c")
-
-set(UTILS_GENERATED_DIR ${OPENAIR_BIN_DIR})
-
-# Create custom command for flex/lex (note the outputs)
- ADD_CUSTOM_COMMAND(
- SOURCE ${OPENAIRHSS_DIR}/utils/hss_scanner.l
- COMMAND ${FLEX_EXECUTABLE}
- ARGS -o${UTILS_GENERATED_DIR}/hss_scanner.c ${OPENAIRHSS_DIR}/utils/hss_scanner.l
- TARGET HSSParser
- OUTPUTS ${UTILS_GENERATED_DIR}/hss_scanner.c)
-
-# Create custom command for bison/yacc (note the DEPENDS)
- ADD_CUSTOM_COMMAND(
- SOURCE ${OPENAIRHSS_DIR}/utils/hss_parser.y
- COMMAND ${BISON_EXECUTABLE}
- ARGS -y ${OPENAIRHSS_DIR}/utils/hss_parser.y
- -o ${UTILS_GENERATED_DIR}/hss_parser.c
- TARGET HSSParser
- DEPENDS ${UTILS_GENERATED_DIR}/hss_scanner.c
- OUTPUTS ${UTILS_GENERATED_DIR}/hss_parser.c)
-
-set(utils_SRC
- ${UTILS_GENERATED_DIR}/hss_scanner.c
- ${UTILS_GENERATED_DIR}/hss_parser.c
- ${OPENAIRHSS_DIR}/utils/conversion.c
- ${OPENAIRHSS_DIR}/utils/hss_config.c
-)
-set(utils_HDR
- ${UTILS_GENERATED_DIR}/hss_parser.h
- ${UTILS_GENERATED_DIR}/hss_scanner.h
- ${OPENAIRHSS_DIR}/utils/conversion.h
- ${OPENAIRHSS_DIR}/utils/hss_config.h
- ${OPENAIRHSS_DIR}/utils/queue.h
-)
-# Since parser.c does not exists yet when cmake is run, mark
-# it as generated
-SET_SOURCE_FILES_PROPERTIES(${UTILS_GENERATED_DIR}/hss_parser.c GENERATED)
-SET_SOURCE_FILES_PROPERTIES(${UTILS_GENERATED_DIR}/hss_scanner.c GENERATED)
-SET_SOURCE_FILES_PROPERTIES(${UTILS_GENERATED_DIR}/hss_parser.h GENERATED)
-SET_SOURCE_FILES_PROPERTIES(${UTILS_GENERATED_DIR}/hss_scanner.h GENERATED)
-SET_SOURCE_FILES_PROPERTIES(${OPENAIRHSS_DIR}/utils/hss_config.c DEPENDS ${UTILS_GENERATED_DIR}/hss_parser.c)
-add_library(hss_utils ${utils_SRC} ${utils_HDR})
-
-################################################################################
-# EXECUTABLE openair-hss
-################################################################################
-include_directories( ${UTILS_GENERATED_DIR} ${OPENAIRHSS_DIR}/utils ${OPENAIRHSS_DIR}/s6a ${OPENAIRHSS_DIR}/db ${OPENAIRHSS_DIR}/auc ${OPENAIRHSS_DIR}/access_restriction)
-ADD_EXECUTABLE(openair-hss ${OPENAIRHSS_DIR}/hss_main.c)
-target_link_libraries (openair-hss
- -Wl,-whole-archive
- hss_access_restriction
- hss_auc
- hss_db
- hss_s6a
- hss_utils
- -Wl,-no-whole-archive
- ${MySQL_LIBRARY}
- ${NETTLE_LIBRARIES}
- ${FREEDIAMETER_LIBRARIES}
- ${CMAKE_THREAD_LIBS_INIT} )
-
-# Default parameters
-# Does not work on simple install (fqdn in /etc/hosts 127.0.1.1)
-cmake_host_system_information(RESULT SITE_HSS_FQDN QUERY FQDN)
-add_option(HSS_FQDN ${SITE_HSS_FQDN} "HSS Fully qualified domain name")
-IF( NOT DEFINED REALM )
- string(FIND ${HSS_FQDN} "." pos)
- math(EXPR pos1 "${pos}+1")
- string(SUBSTRING ${HSS_FQDN} ${pos1} -1 realm_string)
- message("REALM extracted from HSS FQDN is ${realm_string}")
- set(REALM ${realm_string} CACHE STRING "HSS realm")
-ENDIF( NOT DEFINED REALM )
-set(MYSQL_server "127.0.0.1" CACHE STRING "Database server IP address")
-set(MYSQL_admin root CACHE STRING "Database admin login")
-set(MYSQL_admin_pass linux CACHE STRING "Database admin password")
-set(MYSQL_user hssadmin CACHE STRING "Database username login")
-set(MYSQL_pass admin CACHE STRING "Database username password")
-set(MYSQL_db oai_db CACHE STRING "Database name")
-set(TRANSPORT_option "#No_TCP" CACHE STRING "No_TCP or No_SCTP or comment string, FreeDiameter config option")
-set(TRANSPORT_PREFER_TCP_option "#Prefer_TCP" CACHE STRING "Prefer_TCP or comment string, FreeDiameter config option")
-set(AppServThreads 2 CACHE STRING "FreeDiameter AppServThreads config option")
-set(OPERATOR_key "" CACHE STRING "LTE operator clear text key (hex bytes) example 11111111111111111111111111111111")
-set(RANDOM_boolean "true" CACHE STRING "If false, random function returns always 0, else random as usual.")
-set(REMOTE_PEER_WHITELIST "*.${REALM}" CACHE STRING "Remote peer whitelist (separated by spaces), for freediameter acl.conf config file")
-IF( FD_SERVER_IP_BIND_LIST )
- set(ListenOn "ListenOn = \"${FD_SERVER_IP_BIND_LIST}\"" CACHE STRING "FreeDiameter server IP bind addresses list")
-ELSE( FD_SERVER_IP_BIND_LIST )
- set(ListenOn "#ListenOn = \"\"" CACHE STRING "FreeDiameter server IP bind addresses list")
-ENDIF( FD_SERVER_IP_BIND_LIST )
-
-IF( HSS_CONNECT_TO_MME )
- set(ConnectPeer "ConnectPeer" CACHE STRING "HSS connect to MME")
- set(DIAMETER_PORT "#Port = 3868" CACHE STRING "Diameter bind port")
- set(DIAMETER_SEC_PORT "#SecPort = 3869" CACHE STRING "Diameter bind sec port")
-ELSE( HSS_CONNECT_TO_MME )
- set(ConnectPeer "#ConnectPeer" CACHE STRING "HSS act as a server")
- set(DIAMETER_PORT "Port = 3868" CACHE STRING "Diameter bind port")
- set(DIAMETER_SEC_PORT "SecPort = 3869" CACHE STRING "Diameter bind sec port")
-ENDIF( HSS_CONNECT_TO_MME )
-
-
-configure_file(${CMAKE_CURRENT_SOURCE_DIR}/hss_fd.conf.in ${CMAKE_CURRENT_BINARY_DIR}/hss_fd.conf)
-configure_file(${CMAKE_CURRENT_SOURCE_DIR}/hss.conf.in ${CMAKE_CURRENT_BINARY_DIR}/hss.conf)
-configure_file(${CMAKE_CURRENT_SOURCE_DIR}/acl.conf.in ${CMAKE_CURRENT_BINARY_DIR}/acl.conf)
-
-execute_process(COMMAND sudo ${OPENAIR_CMAKE_SCRIPTS}/check_hss_s6a_certificate ${FREEDIAMETER_PATH}/.. ${HSS_FQDN} WORKING_DIRECTORY ${OPENAIR_CMAKE_SCRIPTS} TIMEOUT 3)
-
-# This does not overwrite database if it exist
-execute_process(COMMAND ${OPENAIR_CMAKE_SCRIPTS}/create_hss_database
- ${MYSQL_admin} ${MYSQL_admin_pass} ${MYSQL_user} ${MYSQL_pass} ${MYSQL_db}
- WORKING_DIRECTORY ${OPENAIR_CMAKE_SCRIPTS}
- ERROR_VARIABLE ERROR_DB
- TIMEOUT 5)
-
-IF( ERROR_DB )
- MESSAGE( SEND_ERROR "Database setup failed: ${ERROR_DB}" )
-ENDIF( ERROR_DB )
-
-install (TARGETS openair-hss DESTINATION ${OPENAIR_TARGETS}/bin)
-
diff --git a/cmake_targets/hss_build/acl.conf.in b/cmake_targets/hss_build/acl.conf.in
deleted file mode 100644
index 7702690f78..0000000000
--- a/cmake_targets/hss_build/acl.conf.in
+++ /dev/null
@@ -1,19 +0,0 @@
-# Configuration file for the peer whitelist extension.
-#
-# This extension is meant to allow connection from remote peers, without actively
-# maintaining this connection ourselves (as it would be the case by declaring the
-# peer in a ConnectPeer directive).
-# The format of this file is very simple. It contains a list of peer names
-# separated by spaces or newlines.
-#
-# The peer name must be a fqdn. We allow also a special "*" character as the
-# first label of the fqdn, to allow all fqdn with the same domain name.
-# Example: *.example.net will allow host1.example.net and host2.example.net
-#
-# At the beginning of a line, the following flags are allowed (case sensitive) -- either or both can appear:
-# ALLOW_OLD_TLS : we accept unprotected CER/CEA exchange with Inband-Security-Id = TLS
-# ALLOW_IPSEC : we accept implicitly protected connection with with peer (Inband-Security-Id = IPSec)
-# It is specified for example as:
-# ALLOW_IPSEC vpn.example.net vpn2.example.net *.vpn.example.net
-
-ALLOW_OLD_TLS @REMOTE_PEER_WHITELIST@
diff --git a/cmake_targets/hss_build/hss.conf.in b/cmake_targets/hss_build/hss.conf.in
deleted file mode 100644
index dd34a117e6..0000000000
--- a/cmake_targets/hss_build/hss.conf.in
+++ /dev/null
@@ -1,13 +0,0 @@
-## MySQL mandatory options
-MYSQL_server = "@MYSQL_server@";
-MYSQL_user = "@MYSQL_user@";
-MYSQL_pass = "@MYSQL_pass@";
-MYSQL_db = "@MYSQL_db@";
-
-## HSS options
-OPERATOR_key = "@OPERATOR_key@";
-
-RANDOM = "@RANDOM_boolean@";
-
-## Freediameter options
-FD_conf = "@FREEDIAMETER_PATH@/../etc/freeDiameter/hss_fd.conf";
diff --git a/cmake_targets/hss_build/hss_fd.conf.in b/cmake_targets/hss_build/hss_fd.conf.in
deleted file mode 100644
index 5d59919c35..0000000000
--- a/cmake_targets/hss_build/hss_fd.conf.in
+++ /dev/null
@@ -1,106 +0,0 @@
-# -------- Local ---------
-# The first parameter in this section is Identity, which will be used to
-# identify this peer in the Diameter network. The Diameter protocol mandates
-# that the Identity used is a valid FQDN for the peer. This parameter can be
-# omitted, in that case the framework will attempt to use system default value
-# (as returned by hostname --fqdn).
-Identity = "@HSS_FQDN@";
-
-# In Diameter, all peers also belong to a Realm. If the realm is not specified,
-# the framework uses the part of the Identity after the first dot.
-Realm = "@REALM@";
-
-
-# This parameter is mandatory, even if it is possible to disable TLS for peers
-# connections. A valid certificate for this Diameter Identity is expected.
-TLS_Cred = "@FREEDIAMETER_PATH@/../etc/freeDiameter/hss.cert.pem", "@FREEDIAMETER_PATH@/../etc/freeDiameter/hss.key.pem";
-TLS_CA = "@FREEDIAMETER_PATH@/../etc/freeDiameter/hss.cacert.pem";
-
-
-# Disable use of TCP protocol (only listen and connect in SCTP)
-# Default : TCP enabled
-@TRANSPORT_option@;
-
-
-# This option is ignored if freeDiameter is compiled with DISABLE_SCTP option.
-# Prefer TCP instead of SCTP for establishing new connections.
-# This setting may be overwritten per peer in peer configuration blocs.
-# Default : SCTP is attempted first.
-@TRANSPORT_PREFER_TCP_option@;
-
-
-# Disable use of IPv6 addresses (only IP)
-# Default : IPv6 enabled
-No_IPv6;
-
-
-# Overwrite the number of SCTP streams. This value should be kept low,
-# especially if you are using TLS over SCTP, because it consumes a lot of
-# resources in that case. See tickets 19 and 27 for some additional details on
-# this.
-# Limit the number of SCTP streams
-SCTP_streams = 3;
-
-
-# By default, freeDiameter acts as a Diameter Relay Agent by forwarding all
-# messages it cannot handle locally. This parameter disables this behavior.
-NoRelay;
-
-
-TLS_old_method;
-
-
-# Number of parallel threads that will handle incoming application messages.
-# This parameter may be deprecated later in favor of a dynamic number of threads
-# depending on the load.
-AppServThreads = @AppServThreads@;
-
-# Specify the addresses on which to bind the listening server. This must be
-# specified if the framework is unable to auto-detect these addresses, or if the
-# auto-detected values are incorrect. Note that the list of addresses is sent
-# in CER or CEA message, so one should pay attention to this parameter if some
-# adresses should be kept hidden.
-@ListenOn@;
-
-@DIAMETER_PORT@;
-@DIAMETER_SEC_PORT@;
-
-
-# -------- Extensions ---------
-
-# Uncomment (and create rtd.conf) to specify routing table for this peer.
-#LoadExtension = "rt_default.fdx" : "rtd.conf";
-
-# Uncomment (and create acl.conf) to allow incoming connections from other peers.
-LoadExtension = "acl_wl.fdx" : "@FREEDIAMETER_PATH@/../etc/freeDiameter/acl.conf";
-
-# Uncomment to display periodic state information
-#LoadExtension = "dbg_monitor.fdx";
-
-# Uncomment to enable an interactive Python interpreter session.
-# (see doc/dbg_interactive.py.sample for more information)
-#LoadExtension = "dbg_interactive.fdx";
-
-# Load the RFC4005 dictionary objects
-#LoadExtension = "dict_nasreq.fdx";
-
-LoadExtension = "dict_nas_mipv6.fdx";
-LoadExtension = "dict_s6a.fdx";
-
-# Load RFC4072 dictionary objects
-#LoadExtension = "dict_eap.fdx";
-
-# Load the Diameter EAP server extension (requires diameap.conf)
-#LoadExtension = "app_diameap.fdx" : "diameap.conf";
-
-# Load the Accounting Server extension (requires app_acct.conf)
-#LoadExtension = "app_acct.fdx" : "app_acct.conf";
-
-# -------- Peers ---------
-
-# The framework will actively attempt to establish and maintain a connection
-# with the peers listed here.
-# For only accepting incoming connections, see the acl_wl.fx extension.
-
-#ConnectPeer = "ubuntu.localdomain" { ConnectTo = "127.0.0.1"; No_TLS; };
-@ConnectPeer@ = "@MME_FQDN@" { ConnectTo = "@MME_IP@"; Realm = "@REALM@"; No_IPv6; No_TLS ; port = 3870; };
\ No newline at end of file
diff --git a/cmake_targets/tools/build_epc b/cmake_targets/tools/build_epc
deleted file mode 100755
index 0caeaf2617..0000000000
--- a/cmake_targets/tools/build_epc
+++ /dev/null
@@ -1,302 +0,0 @@
-#!/bin/bash
-################################################################################
-# OpenAirInterface
-# Copyright(c) 1999 - 2014 Eurecom
-#
-# OpenAirInterface is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) anylater version.
-#
-#
-# OpenAirInterface is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with OpenAirInterface.The full GNU General Public License is
-# included in this distribution in the file called "COPYING". If not,
-# see .
-#
-# Contact Information
-# OpenAirInterface Admin: openair_admin@eurecom.fr
-# OpenAirInterface Tech : openair_tech@eurecom.fr
-# OpenAirInterface Dev : openair4g-devel@eurecom.fr
-#
-# Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-#
-################################################################################
-# file build_epc
-# brief
-# author Lionel Gauthier
-# company Eurecom
-# email: lionel.gauthier@eurecom.fr
-#
-################################
-# include helper functions
-################################
-THIS_SCRIPT_PATH=$(dirname $(readlink -f $0))
-source $THIS_SCRIPT_PATH/build_helper
-
-function help()
-{
- echo_error " "
- echo_error "Usage: build_epc [OPTION]..."
- echo_error "Build the EPC executable."
- echo_error " "
- echo_error "Options:"
- echo_error "Mandatory arguments to long options are mandatory for short options too."
- echo_error " -c, --clean Clean the build generated files (build from scratch)"
- echo_error " -C, --conf-files-only Generate only EPC configuration files (no build)"
- echo_error " -d, --debug Compile with debug informations."
- echo_error " -h, --help Print this help."
- echo_error " -g, --gtpu-easy-module Used for debugging GTPU (kernel module can be easily removed, for dev and debug purpose only)"
- echo_error " -G, --gtpu-full-speed Best GTPU throughput performance, but cannot be removed (default)."
- echo_error " -H, --hss hostname HSS hostname (with FQDN), default is this host (`hostname --fqdn`)."
- echo_error " -i, --check-installed-software Check installed software packages necessary to build and run EPC (support Ubuntu 14.04)."
- l_realm=`hostname --fqdn`
- l_realm=${l_realm#*.}
- echo_error " -r, --realm realm Realm of the MME (if not specified, is extracted from this host FQDN ($l_realm))."
- echo_error " -s, --transport-sctp-only Diameter use SCTP only (TCP disabled)."
- echo_error " -S, --s6a-server MME act as a server on s6a interface (useful when HSS and MME/EPC run on the same host)."
- echo_error " -t, --transport-tcp-only Diameter use TCP only (SCTP disabled)."
- echo_error " -T, --transport-prefer-tcp Diameter prefer TCP."
- echo_error " -v, --verbose Build process verbose."
- echo_error " "
- echo_error "Examples:"
- echo_error " "
- echo_error "Case 1 - EPC run on same HSS host"
- echo_error "build_epc -d -S -t -T"
- echo_error " "
- echo_error "Case 2 - EPC and HSS do not run on same host"
- echo_error "build_epc -d -s -H my_hss_fqdn"
-}
-
-
-
-function main()
-{
- local -i clean=0
- local -i conf_files_only=0
- local -i verbose=0
- local -i s6a_server=0
- local cmake_args=" "
- local make_args="-j $NUM_CPU"
- local realm=""
- local gtpu_cmake_arg="-DFLAG_GTPV1U_KERNEL_THREAD_SOCK_NO_WAIT=False"
- local hss_fqdn=""
- local hss_hostname=""
- local hss_ip=""
- local REL="Rel10"
-
-
- until [ -z "$1" ]
- do
- case "$1" in
- -c | --clean)
- clean=1
- echo "Clean the build generated files (build from scratch)"
- shift;
- ;;
- -C | --conf-files-only)
- conf_files_only=1
- echo "Generate only conf files (no build)"
- shift;
- ;;
- -d | --debug)
- cmake_args="$cmake_args -DDEBUG=1"
- echo "Compile with debug informations"
- shift;
- ;;
- -g | --gtpu-easy-module)
- gtpu_cmake_arg="-DFLAG_GTPV1U_KERNEL_THREAD_SOCK_NO_WAIT=True"
- echo "Compile with not optimized GTPU kernel module option (but kernel module easy to remove)"
- shift;
- ;;
- -G | --gtpu-full-speed)
- echo "Compile with best performance GTPU kernel module option"
- shift;
- ;;
- -h | --help)
- help
- shift;
- exit 0
- ;;
- -H | --hss)
- hss_fqdn=$2
- cmake_args="$cmake_args -DHSS_FQDN=$hss_fqdn"
- shift 2;
- ;;
- -i | --check-installed-software)
- echo "Check installed software packages necessary to build and run EPC (support Ubuntu 14.04):"
- set_openair_env
- check_install_oai_software
- check_install_additional_tools
- exit 0
- ;;
- -r | --realm)
- echo "Realm: $2"
- realm=$2
- cmake_args="$cmake_args -DREALM=$realm"
- shift 2;
- ;;
- -s | --transport-sctp-only)
- echo "Diameter use SCTP (TCP disabled), this is the default option."
- cmake_args="$cmake_args -DTRANSPORT_option=No_TCP"
- shift;
- ;;
- -S | --s6a-server)
- echo "MME act as a server on s6a"
- s6a_server=1
- cmake_args="$cmake_args -DMME_S6A_IS_SERVER=1"
- shift 1;
- ;;
- -t | --transport-tcp-only)
- echo "Diameter use TCP (SCTP disabled)."
- cmake_args="$cmake_args -DTRANSPORT_option=No_SCTP"
- shift;
- ;;
- -T | --transport-prefer-tcp)
- echo "Diameter prefer TCP (TCP, SCTP enabled)."
- cmake_args="$cmake_args -DTRANSPORT_PREFER_TCP_option=Prefer_TCP"
- shift;
- ;;
- -v | --verbose)
- echo "Make build process verbose"
- cmake_args="$cmake_args -DCMAKE_VERBOSE_MAKEFILE=ON"
- make_args="VERBOSE=1 $make_args"
- verbose=1
- shift;
- ;;
- *)
- echo "Unknown option $1"
- help
- exit 1
- ;;
- esac
- done
-
- cmake_args="$cmake_args $gtpu_cmake_arg"
-
- # extra arguments processing
- if [[ z$hss_fqdn = z ]]; then
- hss_fqdn=`hostname --fqdn`
- cmake_args="$cmake_args -DHSS_FQDN=$hss_fqdn"
- if [[ z$realm = z ]]; then
- realm=$hss_fqdn
- realm=${realm#*.}
- cmake_args="$cmake_args -DREALM=$realm"
- fi
- else
- if [[ z$realm = z ]]; then
- realm=${hss_fqdn#*.}
- cmake_args="$cmake_args -DREALM=$realm"
- fi
- fi
- hss_hostname=${hss_fqdn%%.*}
- cmake_args="$cmake_args -DHSS_HOSTNAME=$hss_hostname"
-
- hss_ip=`resolveip --silent $hss_hostname`
- if [[ z$hss_ip = z ]]; then
- hss_ip=`resolveip --silent $hss_fqdn`
- fi
- if [[ z$hss_ip = z ]]; then
- echo_abort "Unable to get HSS IP addr of $hss_fqdn"
- fi
- cmake_args="$cmake_args -DHSS_IP=$hss_ip"
-
- set_openair_env
- if [[ $verbose -eq 1 ]]; then
- cecho "OPENAIR_DIR = $OPENAIR_DIR" $green
- fi
-
- # for conf files copy in this bash script
- if [ -d /usr/lib/freeDiameter ]; then
- export FREEDIAMETER_PREFIX=/usr
- else
- if [ -d /usr/local/lib/freeDiameter ]; then
- export FREEDIAMETER_PREFIX=/usr/local
- else
- echo_fatal "FreeDiameter prefix not found, install freeDiameter if EPC, HSS"
- fi
- fi
-
-
-
- local dbin=$OPENAIR_DIR/targets/bin
- local dlog=$OPENAIR_DIR/cmake_targets/log
- local dconf=$OPENAIR_DIR/targets/bin
-
- mkdir -m 777 -p $dbin $dlog
-
- ##############################################################################
- # Compile userspace executable
- ##############################################################################
- cd $OPENAIR_DIR/cmake_targets/epc_build_oai
- if [ $clean -ne 0 ]; then
- if [[ $verbose -eq 1 ]]; then
- echo "Cleaning EPC: certificates, generated configuration files, obj files, mme_gw executable, GTP kernel module"
- fi
- rm -f $OPENAIR_DIR/targets/bin/mme_gw
- rm -Rf build 2>&1
- $SUDO rm -Rf $OPENAIR_TARGETS/CMAKE/EPC/MME_GW/build 2>&1
- $SUDO rm -f /usr/local/etc/freeDiameter/mme* 2>&1
- $SUDO rm -f /usr/local/etc/freeDiameter/epc* 2>&1
- $SUDO rm -f /usr/etc/freeDiameter/mme* 2>&1
- $SUDO rm -f /usr/etc/freeDiameter/epc* 2>&1
- $SUDO rm -f $OPENAIR_DIR/targets/bin/xt_GTPU*.ko 2>&1
- (cd $OPENAIRCN_DIR/GTPV1-U/GTPU_SP && $SUDO make clean)
- $SUDO rm -f $OPENAIRCN_DIR/GTPV1-U/GTPU_SP/Bin/* 2>&1
- $SUDO rm -f /lib/xtables/libxt_GTPU*.so 2>&1
- mkdir -m 777 -p -v build
- fi
-
-
-
- ##############################################################################
- # Compile EPC
- ##############################################################################
- cd $OPENAIR_DIR/cmake_targets/epc_build_oai
- #cd $OPENAIR_TARGETS/CMAKE/EPC/MME_GW
- if [ ! -d ./build ]; then
- mkdir -m 777 -p -v build
- fi
- cmake_file=./CMakeLists.txt
- cp $OPENAIR_DIR/cmake_targets/epc_build_oai/CMakeLists.template $cmake_file
- echo 'include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)' >> $cmake_file
- cd ./build
- cmake $cmake_args ..
- #make $make_args -j $NUM_CPU
- if [ $conf_files_only -eq 0 ]; then
- compilations \
- epc_build_oai mme_gw \
- mme_gw $dbin/mme_gw.$REL
- # Only integrated mme+sgw+pgw is operational today
- compilations \
- epc_build_oai xt_GTPUSP_lib \
- libxt_GTPUSP_lib.so $dbin
- compilations \
- epc_build_oai xt_GTPUSP \
- CMakeFiles/xt_GTPUSP/xt_GTPUSP.ko $dbin
-
- echo_info "Copying iptables libraries into system directory: /lib/xtables"
- if [ -f $dbin/libxt_GTPUSP_lib.so ] ; then
- $SUDO rm -f /lib/xtables/libxt_GTPUSP.so
- $SUDO ln -s $dbin/libxt_GTPUSP_lib.so /lib/xtables/libxt_GTPUSP.so
- else
- echo_fatal "not installed GTP-U iptables: binaries not found"
- fi
- fi
- # Do EPC
- if [ -f $OPENAIR_DIR/cmake_targets/epc_build_oai/build/mme_fd.conf ] ; then
- cp -uv $OPENAIR_DIR/cmake_targets/epc_build_oai/build/epc*.conf $dconf
- $SUDO cp -uv $OPENAIR_DIR/cmake_targets/epc_build_oai/build/mme_fd.conf $FREEDIAMETER_PREFIX/etc/freeDiameter
- else
- echo_fatal "not installed EPC config files: not found"
- fi
-}
-
-
-main "$@"
-
diff --git a/cmake_targets/tools/build_helper b/cmake_targets/tools/build_helper
index 100effd872..953c21d929 100755
--- a/cmake_targets/tools/build_helper
+++ b/cmake_targets/tools/build_helper
@@ -1,29 +1,31 @@
################################################################################
-# OpenAirInterface
-# Copyright(c) 1999 - 2014 Eurecom
#
-# OpenAirInterface is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
+# Copyright (c) 2015, EURECOM (www.eurecom.fr)
+# All rights reserved.
#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
#
-# OpenAirInterface is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
+# 1. Redistributions of source code must retain the above copyright notice, this
+# list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright notice,
+# this list of conditions and the following disclaimer in the documentation
+# and/or other materials provided with the distribution.
#
-# You should have received a copy of the GNU General Public License
-# along with OpenAirInterface.The full GNU General Public License is
-# included in this distribution in the file called "COPYING". If not,
-# see .
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
-# Contact Information
-# OpenAirInterface Admin: openair_admin@eurecom.fr
-# OpenAirInterface Tech : openair_tech@eurecom.fr
-# OpenAirInterface Dev : openair4g-devel@eurecom.fr
-#
-# Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
+# The views and conclusions contained in the software and documentation are those
+# of the authors and should not be interpreted as representing official policies,
+# either expressed or implied, of the FreeBSD Project.
#
################################################################################
# file build_helper
@@ -95,12 +97,9 @@ clean_kernel() {
clean_all_files() {
set_openair_env
dir=$OPENAIR_DIR/cmake_targets
- rm -rf $dir/log $OPENAIR_DIR/targets/bin/*
+ rm -rf $dir/log $OPENAIR_DIR/targets/bin/*
rm -rf $dir/lte_build_oai $dir/lte-simulators/build
- rm -rf $dir/epc_build_oai/build $dir/epc_build_oai/CMakeLists.txt
rm -rf $dir/oaisim_build_oai/build $dir/oaisim_build_oai/CMakeLists.txt
- rm -rf $dir/oaisim_mme_build_oai/build $dir/oaisim_mme_build_oai/CMakeLists.txt
- rm -rf $dir/hss_build/build
rm -rf $dir/autotests/bin $dir/autotests/log $dir/autotests/*/build
}
@@ -123,50 +122,6 @@ compilations() {
fi
}
-
-##########################################
-# X.509 certificates
-##########################################
-
-make_one_cert() {
- fqdn=$1
- name=$2
- $SUDO openssl genrsa -out $name.key.pem 1024
- $SUDO openssl req -new -batch -out $name.csr.pem -key $name.key.pem -subj /CN=$name.$fqdn/C=FR/ST=PACA/L=Aix/O=Eurecom/OU=CM
- $SUDO openssl ca -cert cacert.pem -keyfile cakey.pem -in $name.csr.pem -out $name.cert.pem -outdir . -batch
-}
-
-make_certs(){
-
- fqdn=$1
- certs_dir=$FREEDIAMETER_PREFIX/freeDiameter
- # certificates are stored in diameter config directory
- if [ ! -d $certs_dir ]; then
- echo "Creating non existing directory: $certs_dir"
- $SUDO mkdir -p $certs_dir || echo_error "can't create: $certs_dir"
- fi
-
- cd $certs_dir
- echo "creating the CA certificate"
- echo_warning "erase all existing certificates as long as the CA is regenerated"
- $SUDO rm -f $certs_dir/*.pem
- $SUDO mkdir -p $certs_dir/demoCA/
- $SUDO touch $certs_dir/demoCA/index.txt
- $SUDO sh -c "echo 01 > $certs_dir/demoCA/serial"
-
- # CA self certificate
- $SUDO openssl req -new -batch -x509 -days 3650 -nodes -newkey rsa:1024 -out cacert.pem -keyout cakey.pem -subj /CN=$fqdn/C=FR/ST=PACA/L=Aix/O=Eurecom/OU=CM
-
- # generate hss certificate and sign it
- make_one_cert eur hss
- make_one_cert eur mme
-
- # legacy config is using a certificate named 'user'
- make_one_cert eur user
-
-}
-
-
############################################
# External packages installers
############################################
@@ -200,58 +155,6 @@ install_gnutls_from_source(){
rm -rf /tmp/gnutls-3.1.23.tar.xz /tmp/gnutls-3.1.23
}
-install_1.1.5_freediameter_from_source() {
- cd /tmp
- echo "Downloading 1.1.5 freeDiameter archive"
- rm -rf /tmp/1.1.5.tar.gz* /tmp/freeDiameter-1.1.5
- wget http://www.freediameter.net/hg/freeDiameter/archive/1.1.5.tar.gz
- tar xzf 1.1.5.tar.gz
- cd freeDiameter-1.1.5
- patch -p1 < $OPENAIR_DIR/openair-cn/S6A/freediameter/freediameter-1.1.5.patch
- mkdir build
- cd build
- cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr ../
- echo "Compiling freeDiameter"
- make -j`nproc`
- #make test
- $SUDO make install
- rm -rf /tmp/1.1.5.tar.gz /tmp/freeDiameter-1.1.5
-}
-
-install_freediameter_from_source() {
- cd /tmp
- echo "Downloading 1.2.0 freeDiameter archive"
- rm -rf /tmp/1.2.0.tar.gz* /tmp/freeDiameter-1.2.0
- wget http://www.freediameter.net/hg/freeDiameter/archive/1.2.0.tar.gz
- tar xzf 1.2.0.tar.gz
- cd freeDiameter-1.2.0
- patch -p1 < $OPENAIR_DIR/openair-cn/S6A/freediameter/freediameter-1.2.0.patch
- mkdir build
- cd build
- cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr ../
- echo "Compiling freeDiameter"
- make -j`nproc`
- #make test
- $SUDO make install
- rm -rf /tmp/1.2.0.tar.gz /tmp/freeDiameter-1.2.0
-}
-
-install_latest_freediameter_from_source() {
- cd /tmp
- rm -rf /tmp/freeDiameter
- echo "Downloading latest freeDiameter trunk (may be unstable)"
- git clone https://github.com/Metaswitch/freeDiameter.git
- cd freeDiameter
- patch -p1 < $OPENAIR_DIR/openair-cn/S6A/freediameter/freediameter-1.2.0.patch
- mkdir build
- cd build
- cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr ../
- echo "Compiling freeDiameter"
- make -j`nproc`
- #make test
- $SUDO make install
- rm -rf /tmp/freeDiameter
-}
check_install_usrp_uhd_driver(){
@@ -345,8 +248,6 @@ check_install_oai_software() {
libxml2-dev \
linux-headers-`uname -r` \
mscgen \
- mysql-client \
- mysql-server \
octave \
octave-signal \
openssh-client \
@@ -400,65 +301,7 @@ install_nas_tools() {
}
-##################################
-# create HSS DB
-################################
-# arg 1 is mysql admin (ex: root)
-# arg 2 is mysql password (ex: linux)
-# arg 3 is hss username (ex: hssadmin)
-# arg 4 is hss password (ex: admin)
-# arg 5 is database name (ex: oai_db)
-create_hss_database(){
- EXPECTED_ARGS=5
- if [ $# -ne $EXPECTED_ARGS ]
- then
- echo_error "Usage: $0 dbadmin dbpass hssuser hsspass databasename"
- return 1
- fi
- local mysql_admin=$1
- local mysql_password=$2
- local hss_username=$3
- local hss_password=$4
- local database_name=$5
-
- Q1="GRANT ALL PRIVILEGES ON *.* TO '$hss_username'@'localhost' IDENTIFIED BY '$hss_password' WITH GRANT OPTION;"
- Q2="FLUSH PRIVILEGES;"
- mysql -u $mysql_admin --password=$mysql_password -e "${Q1}${Q2}"
- if [ $? -ne 0 ]; then
- echo_error "HSS: $hss_username permissions creation failed"
- echo_error "verify root password for mysql is linux: mysql -u root --password=linux"
- echo_error "if not, reset it to "linux" with sudo dpkg-reconfigure mysql-server-5.5"
- return 1
- else
- echo_success "HSS: $hss_username permissions creation succeeded"
- fi
-
- Q3="CREATE DATABASE IF NOT EXISTS $database_name;"
- mysql -u $hss_username --password=$hss_password -e "${Q3}"
- if [ $? -ne 0 ]; then
- echo_error "HSS: $database_name creation failed"
- return 1
- else
- echo_success "HSS: $database_name creation succeeded"
- fi
-
-
- # test if tables have been created
- mysql -u $hss_username --password=$hss_password -e "desc $database_name.users" > /dev/null 2>&1
- if [ $? -eq 1 ]; then
- mysql -u $hss_username --password=$hss_password $database_name < $OPENAIR_DIR/openair-cn/OPENAIRHSS/db/$database_name.sql
- if [ $? -ne 0 ]; then
- echo_error "HSS: $database_name tables creation failed"
- return 1
- else
- echo_success "HSS: $database_name tables creation succeeded"
- fi
- else
- echo_success "HSS: $database_name tables already created, nothing done"
- fi
- return 0
-}
################################
# set_openair_env
diff --git a/cmake_targets/tools/build_hss b/cmake_targets/tools/build_hss
deleted file mode 100755
index 6e0b1e927a..0000000000
--- a/cmake_targets/tools/build_hss
+++ /dev/null
@@ -1,271 +0,0 @@
-#!/bin/bash
-################################################################################
-# OpenAirInterface
-# Copyright(c) 1999 - 2014 Eurecom
-#
-# OpenAirInterface is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) anylater version.
-#
-#
-# OpenAirInterface is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with OpenAirInterface.The full GNU General Public License is
-# included in this distribution in the file called "COPYING". If not,
-# see .
-#
-# Contact Information
-# OpenAirInterface Admin: openair_admin@eurecom.fr
-# OpenAirInterface Tech : openair_tech@eurecom.fr
-# OpenAirInterface Dev : openair4g-devel@eurecom.fr
-#
-# Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-#
-################################################################################
-# file build_hss
-# brief
-# author Lionel Gauthier
-# company Eurecom
-# email: lionel.gauthier@eurecom.fr
-#
-################################
-# include helper functions
-################################
-THIS_SCRIPT_PATH=$(dirname $(readlink -f $0))
-source $THIS_SCRIPT_PATH/build_helper
-
-
-
-function help()
-{
- echo_error " "
- echo_error "Usage: build_hss [OPTION]..."
- echo_error "Build the experimental HSS executable."
- echo_error " "
- echo_error "Options:"
- echo_error "Mandatory arguments to long options are mandatory for short options too."
- echo_error " -b, --s6a-bind-addr-list addr_list Optionaly, s6a server bind addresses can be specified here"
- echo_error " -c, --clean Clean the build generated files (build from scratch)"
- echo_error " -d, --debug Compile with debug informations."
- echo_error " -f, --fqdn fqdn HSS Fully Qualified Domain Name (if not specified default is `hostname --fqdn`)."
- echo_error " -h, --help Print this help."
- echo_error " -i, --check-installed-software Check installed software packages necessary to build and run HSS (support Ubuntu 14.04)."
- echo_error " -I, --install-hss-files Install HSS database if necessary."
- echo_error " -k, --operator-key key Operator key of the HSS."
- echo_error " If filled, then OPc key in table users for all subscribers (IMSI) will be computed."
- echo_error " -m, --connect-to-mme fqdn MME act as a S6A server, HSS as a client (reversed situation but allows MME and HSS be on the same host) ."
- echo_error " -r, --realm realm Realm of the HSS (optional parameter)."
- echo_error " -R, --random boolean If false HSS random function returns always 0 (allowed values: {true, false})."
- echo_error " -s, --transport-sctp-only Diameter use SCTP (TCP disabled)."
- echo_error " -t, --transport-tcp-only Diameter use TCP (SCTP disabled)."
- echo_error " -T, --transport-prefer-tcp Diameter prefer TCP."
- echo_error " -v, --verbose Build process verbose."
- echo_error " "
- echo_error "Examples:"
- echo_error " "
- echo_error "Case 1 - HSS run on same EPC host"
- echo_error "build_hss -d -m my_epc_fqdn -d -t -T"
- echo_error "or build_hss -d -m my_epc_fqdn -d -t -T -k 11111111111111111111111111111111"
- echo_error " "
- echo_error "Case 2 - HSS and EPC do not run on same host"
- echo_error "build_hss -d -s"
- echo_error "build_hss -d -s -k 11111111111111111111111111111111"
-}
-
-
-
-function main()
-{
- local -i clean=0
- local -i verbose=0
- local cmake_args=" "
- local make_args="-j $NUM_CPU"
- local realm=""
- local hss_hostname=""
- local mme_hostname=""
- local mme_ip=""
- local mme_fqdn=""
-
-
- until [ -z "$1" ]; do
- case "$1" in
- -b | --s6a-bind-addr-list)
- echo "S6A server bind addresses: $2"
- cmake_args="$cmake_args -DFD_SERVER_IP_BIND_LIST=$2"
- shift 2;
- ;;
- -c | --clean)
- clean=1
- echo "Clean the build generated files (build from scratch)"
- shift;
- ;;
- -d | --debug)
- cmake_args="$cmake_args -DDEBUG=1"
- echo "Compile with debug informations"
- shift;
- ;;
- -f | --fqdn)
- echo "FQDN of the HSS: $2"
- cmake_args="$cmake_args -DHSS_FQDN=$2"
- shift 2;
- ;;
- -h | --help)
- help
- exit 0
- ;;
- -i | --check-installed-software)
- echo "Check installed software packages necessary to build and run HSS (support Ubuntu 14.04):"
- set_openair_env
- check_install_oai_software
- exit 0
- ;;
- -I | --install-hss-files)
- echo "Install HSS files: .conf files, database (if you want to reinstall database, drop it by hand before)."
- cmake_args="$cmake_args -DINSTALL_HSS_FILES=1"
- shift;
- ;;
- -k | --operator-key)
- echo "Operator key of the HSS: $2"
- cmake_args="$cmake_args -DOPERATOR_key=$2"
- shift 2;
- ;;
- -m | --connect-to-mme)
- mme_fqdn=$2
- shift 2;
- ;;
- -r | --realm)
- echo "Realm of the HSS: $2"
- cmake_args="$cmake_args -DREALM=$2"
- shift 2;
- ;;
- -R | --random)
- echo "Random function: $2"
- cmake_args="$cmake_args -DRANDOM_boolean=$2"
- shift 2;
- ;;
- -s | --transport-sctp-only)
- echo "Diameter use SCTP (TCP disabled), this is the default option."
- cmake_args="$cmake_args -DTRANSPORT_option=No_TCP"
- shift;
- ;;
- -t | --transport-tcp-only)
- echo "Diameter use TCP (SCTP disabled)."
- cmake_args="$cmake_args -DTRANSPORT_option=No_SCTP"
- shift;
- ;;
- -T | --transport-prefer-tcp)
- echo "Diameter prefer TCP (TCP, SCTP enabled)."
- cmake_args="$cmake_args -DTRANSPORT_PREFER_TCP_option=Prefer_TCP"
- shift;
- ;;
- -v | --verbose)
- echo "Make build process verbose"
- cmake_args="$cmake_args -DCMAKE_VERBOSE_MAKEFILE=ON"
- make_args="VERBOSE=1 $make_args"
- verbose=1
- shift;
- ;;
- *)
- echo "Unknown option $1"
- help
- exit 1
- ;;
- esac
- done
-
- # extra arguments processing
- if [[ z$hss_fqdn = z ]]; then
- hss_fqdn=`hostname --fqdn`
- cmake_args="$cmake_args -DHSS_FQDN=$hss_fqdn"
- if [[ z$realm = z ]]; then
- realm=$hss_fqdn
- realm=${realm#*.}
- cmake_args="$cmake_args -DREALM=$realm"
- fi
- fi
-
- if [[ z$mme_fqdn != z ]]; then
- cmake_args="$cmake_args -DMME_FQDN=$mme_fqdn"
- mme_hostname=${mme_fqdn%%.*}
- cmake_args="$cmake_args -DMME_HOSTNAME=$mme_hostname"
-
- mme_ip=`resolveip --silent $mme_hostname`
- if [[ z$mme_ip = z ]]; then
- mme_ip=`resolveip --silent $mme_fqdn`
- fi
- if [[ z$mme_ip = z ]]; then
- echo_fatal "Unable to get MME IP addr of $mme_fqdn"
- fi
- cmake_args="$cmake_args -DHSS_CONNECT_TO_MME=1 -DMME_IP=$mme_ip"
- fi
-
- set_openair_env
- if [[ $verbose -eq 1 ]]; then
- cecho "OPENAIR_DIR = $OPENAIR_DIR" $green
- fi
-
- if [[ z$OPENAIR_DIR = z ]]; then
- echo_fatal "OPENAIR_DIR env variable not set, exiting"
- fi
-
-
- local dbin=$OPENAIR_DIR/targets/bin
- local dlog=$OPENAIR_DIR/cmake_targets/log
- local dconf=OPENAIR_DIR/targets/bin
-
- mkdir -m 777 -p $dbin $dlog
-
- # for conf files copy in this bash script
- if [ -d /usr/lib/freeDiameter ]; then
- export FREEDIAMETER_PREFIX=/usr
- else
- if [ -d /usr/local/lib/freeDiameter ]; then
- export FREEDIAMETER_PREFIX=/usr/local
- else
- echo_fatal "FreeDiameter prefix not found, install freeDiameter if EPC, HSS"
- fi
- fi
-
-
-
- cmake_args="$cmake_args -DOPENAIR_DIR=$OPENAIR_DIR"
-
- rm -f $OPENAIR_DIR/targets/bin/openair-hss
- cd $OPENAIR_DIR/cmake_targets/hss_build
- if [ $clean -ne 0 ]; then
- if [[ $verbose -eq 1 ]]; then
- echo "Cleaning HSS"
- fi
- $SUDO rm -Rf build 2>&1
- if [[ $verbose -eq 1 ]]; then
- echo "Cleaning /usr/*/etc/freeDiameter"
- fi
- $SUDO rm -f /usr/local/etc/freeDiameter/hss* 2>&1
- $SUDO rm -f /usr/local/etc/freeDiameter/acl.conf 2>&1
- $SUDO rm -f /usr/etc/freeDiameter/hss* 2>&1
- $SUDO rm -f /usr/etc/freeDiameter/acl.conf 2>&1
- mkdir -m 777 -p -v build
- fi
- if [ ! -d ./build ]; then
- mkdir -m 777 -p -v build
- fi
- cd ./build
- cmake $cmake_args ..
- make $make_args
- make install
-
-
- # bash doesn't like space char around = char
- cp -uv $OPENAIR_DIR/cmake_targets/hss_build/build/hss.conf $dbin
- $SUDO cp -uv $OPENAIR_DIR/cmake_targets/hss_build/build/hss_fd.conf $OPENAIR_DIR/cmake_targets/hss_build/build/acl.conf $FREEDIAMETER_PREFIX/etc/freeDiameter
-
-}
-
-
-main "$@"
-
diff --git a/cmake_targets/tools/build_test_epc_tools b/cmake_targets/tools/build_test_epc_tools
new file mode 100755
index 0000000000..aff2a26fc0
--- /dev/null
+++ b/cmake_targets/tools/build_test_epc_tools
@@ -0,0 +1,147 @@
+#!/bin/bash
+################################################################################
+# OpenAirInterface
+# Copyright(c) 1999 - 2014 Eurecom
+#
+# OpenAirInterface is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) anylater version.
+#
+#
+# OpenAirInterface is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with OpenAirInterface.The full GNU General Public License is
+# included in this distribution in the file called "COPYING". If not,
+# see .
+#
+# Contact Information
+# OpenAirInterface Admin: openair_admin@eurecom.fr
+# OpenAirInterface Tech : openair_tech@eurecom.fr
+# OpenAirInterface Dev : openair4g-devel@eurecom.fr
+#
+# Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
+#
+################################################################################
+# file build_test_epc_tools
+# brief
+# author Lionel Gauthier
+# company Eurecom
+# email: lionel.gauthier@eurecom.fr
+#
+################################
+# include helper functions
+################################
+THIS_SCRIPT_PATH=$(dirname $(readlink -f $0))
+source $THIS_SCRIPT_PATH/build_helper
+
+function help()
+{
+ echo_error " "
+ echo_error "Usage: build_test_epc_tools [OPTION]..."
+ echo_error "Build the executables for generating and running a test case for EPC."
+ echo_error " "
+ echo_error "Options:"
+ echo_error "Mandatory arguments to long options are mandatory for short options too."
+ echo_error " -c, --clean Clean the build generated files (build from scratch)"
+ echo_error " -d, --debug Compile with debug informations."
+ echo_error " -h, --help Print this help."
+ echo_error " -v, --verbose Build process verbose."
+ echo_error " "
+}
+
+
+
+function main()
+{
+ local -i clean=0
+ local -i verbose=0
+ local cmake_args=" "
+ local make_args="-j $NUM_CPU"
+ local realm=""
+
+
+ until [ -z "$1" ]
+ do
+ case "$1" in
+ -c | --clean)
+ clean=1
+ echo "Clean the build generated files (build from scratch)"
+ shift;
+ ;;
+ -d | --debug)
+ cmake_args="$cmake_args -DDEBUG=1"
+ echo "Compile with debug informations"
+ shift;
+ ;;
+ -h | --help)
+ help
+ shift;
+ exit 0
+ ;;
+ -v | --verbose)
+ echo "Make build process verbose"
+ cmake_args="$cmake_args -DCMAKE_VERBOSE_MAKEFILE=ON"
+ make_args="VERBOSE=1 $make_args"
+ verbose=1
+ shift;
+ ;;
+ *)
+ echo "Unknown option $1"
+ help
+ exit 1
+ ;;
+ esac
+ done
+
+
+
+
+ set_openair_env
+ if [[ $verbose -eq 1 ]]; then
+ cecho "OPENAIR_DIR = $OPENAIR_DIR" $green
+ fi
+
+ local dbin=$OPENAIR_DIR/targets/bin
+ local dlog=$OPENAIR_DIR/cmake_targets/log
+ local dconf=$OPENAIR_DIR/targets/bin
+
+ mkdir -m 777 -p $dbin $dlog
+
+ ##############################################################################
+ # Compile userspace executable
+ ##############################################################################
+ cd $OPENAIR_DIR/cmake_targets/epc_test
+ if [ $clean -ne 0 ]; then
+ if [[ $verbose -eq 1 ]]; then
+ echo "Cleaning TEST_EPC"
+ fi
+ rm -f $OPENAIR_DIR/targets/bin/test_epc_generate_scenario
+ rm -Rf build 2>&1
+ mkdir -m 777 -p -v build
+ fi
+
+ ##############################################################################
+ # Compile EPC
+ ##############################################################################
+ cd $OPENAIR_DIR/cmake_targets/epc_test
+ if [ ! -d ./build ]; then
+ mkdir -m 777 -p -v build
+ fi
+ cmake_file=./CMakeLists.txt
+ cp $OPENAIR_DIR/cmake_targets/epc_test/CMakeLists.template $cmake_file
+ echo 'include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)' >> $cmake_file
+ cd ./build
+ cmake $cmake_args ..
+ compilations \
+ epc_test test_epc_generate_scenario \
+ test_epc_generate_scenario $dbin/test_epc_generate_scenario
+}
+
+
+main "$@"
+
diff --git a/cmake_targets/tools/check_hss_s6a_certificate b/cmake_targets/tools/check_hss_s6a_certificate
deleted file mode 100755
index e444c7f4c5..0000000000
--- a/cmake_targets/tools/check_hss_s6a_certificate
+++ /dev/null
@@ -1,104 +0,0 @@
-#!/bin/bash
-################################################################################
-# OpenAirInterface
-# Copyright(c) 1999 - 2014 Eurecom
-#
-# OpenAirInterface is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) anylater version.
-#
-#
-# OpenAirInterface is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with OpenAirInterface.The full GNU General Public License is
-# included in this distribution in the file called "COPYING". If not,
-# see .
-#
-# Contact Information
-# OpenAirInterface Admin: openair_admin@eurecom.fr
-# OpenAirInterface Tech : openair_tech@eurecom.fr
-# OpenAirInterface Dev : openair4g-devel@eurecom.fr
-#
-# Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-#
-################################################################################
-# file check_hss_s6a_certificate
-# brief
-# author Lionel Gauthier
-# company Eurecom
-# email: lionel.gauthier@eurecom.fr
-################################
-# include helper functions
-################################
-THIS_SCRIPT_PATH=$(dirname $(readlink -f $0))
-source $THIS_SCRIPT_PATH/build_helper
-
-
-function _create_hss_certs()
-{
- local freediameter_path=$1
- local fqdn=$2
-
- cd /tmp
- rm -rf /tmp/demoCA
- mkdir /tmp/demoCA
- echo 01 > /tmp/demoCA/serial
- touch /tmp/demoCA/index.txt
-
- echo "Creating HSS certificate for user '$fqdn'"
- # Create a Root Certification Authority Certificate
- openssl req -new -batch -x509 -days 3650 -nodes -newkey rsa:1024 -out hss.cacert.pem -keyout hss.cakey.pem -subj /CN=$fqdn/C=FR/ST=PACA/L=Aix/O=Eurecom/OU=CM
-
- # Generate a Private Key
- openssl genrsa -out hss.key.pem 1024
-
- # Generate a CSR (Certificate Signing Request) that will be self-signed
- openssl req -new -batch -out hss.csr.pem -key hss.key.pem -subj /CN=$fqdn/C=FR/ST=PACA/L=Aix/O=Eurecom/OU=CM
-
- # Certification authority
- openssl ca -cert hss.cacert.pem -keyfile hss.cakey.pem -in hss.csr.pem -out hss.cert.pem -outdir . -batch
-
- if [ ! -d $freediameter_path/etc/freeDiameter ]; then
- echo "Creating non existing directory: $freediameter_path/etc/freeDiameter/"
- sudo mkdir -p $freediameter_path/etc/freeDiameter/
- fi
-
- sudo mv hss.cakey.pem hss.cert.pem hss.cacert.pem hss.key.pem $freediameter_path/etc/freeDiameter/
- cd -
-}
-
-
-#$1 if freediameter path
-#$2 is fqdn
-function main() {
- local freediameter_path=$1
- local fqdn=$2
- if [ -d $freediameter_path/etc/freeDiameter ]; then
- if [ -f $freediameter_path/etc/freeDiameter/hss.cert.pem ]; then
- full_hostname=`cat $freediameter_path/etc/freeDiameter/hss.cert.pem | grep "Subject" | grep "CN" | cut -d '=' -f6`
- if [ a$full_hostname == a$fqdn ]; then
- echo_success "HSS S6A: Found valid certificate in $freediameter_path/etc/freeDiameter"
- return 0
- else
- echo_error "Bad hss fqdn found in cert file: $full_hostname fqdn is $fqdn"
- fi
- fi
- fi
- echo_error "HSS S6A: Did not find valid certificate in $freediameter_path/etc/freeDiameter"
- echo_warning "HSS S6A: generating new certificate in $freediameter_path/etc/freeDiameter..."
- _create_hss_certs $freediameter_path $fqdn
- if [ $# -lt 3 ] ; then
- main $freediameter_path $fqdn 2
- return $?
- else
- echo_error "Could not access to freeDiameter path: $freediameter_path/etc/freeDiameter"
- exit 1
- fi
-}
-
-main "$@"
diff --git a/cmake_targets/tools/check_mme_s6a_certificate b/cmake_targets/tools/check_mme_s6a_certificate
deleted file mode 100755
index aac91f3abe..0000000000
--- a/cmake_targets/tools/check_mme_s6a_certificate
+++ /dev/null
@@ -1,107 +0,0 @@
-#!/bin/bash
-################################################################################
-# OpenAirInterface
-# Copyright(c) 1999 - 2014 Eurecom
-#
-# OpenAirInterface is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) anylater version.
-#
-#
-# OpenAirInterface is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with OpenAirInterface.The full GNU General Public License is
-# included in this distribution in the file called "COPYING". If not,
-# see .
-#
-# Contact Information
-# OpenAirInterface Admin: openair_admin@eurecom.fr
-# OpenAirInterface Tech : openair_tech@eurecom.fr
-# OpenAirInterface Dev : openair4g-devel@eurecom.fr
-#
-# Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-#
-################################################################################
-# file check_mme_s6a_certificate
-# brief
-# author Lionel Gauthier
-# company Eurecom
-# email: lionel.gauthier@eurecom.fr
-################################
-# include helper functions
-################################
-THIS_SCRIPT_PATH=$(dirname $(readlink -f $0))
-. $THIS_SCRIPT_PATH/build_helper
-
-
-function _create_mme_certs()
-{
- local freediameter_path=$1
- local fqdn=$2
-
- cd /tmp
- rm -rf /tmp/demoCA
- mkdir /tmp/demoCA
- echo 01 > /tmp/demoCA/serial
- touch /tmp/demoCA/index.txt
-
- echo "Creating MME certificate for user '$fqdn'"
- # Create a Root Certification Authority Certificate
- openssl req -new -batch -x509 -days 3650 -nodes -newkey rsa:1024 -out mme.cacert.pem -keyout mme.cakey.pem -subj /CN=$fqdn/C=FR/ST=PACA/L=Aix/O=Eurecom/OU=CM
-
- # Generate a Private Key
- openssl genrsa -out mme.key.pem 1024
-
- # Generate a CSR (Certificate Signing Request) that will be self-signed
- openssl req -new -batch -out mme.csr.pem -key mme.key.pem -subj /CN=$fqdn/C=FR/ST=PACA/L=Aix/O=Eurecom/OU=CM
-
- # Certification authority
- openssl ca -cert mme.cacert.pem -keyfile mme.cakey.pem -in mme.csr.pem -out mme.cert.pem -outdir . -batch
-
- if [ ! -d $freediameter_path/etc/freeDiameter ]; then
- echo "Creating non existing directory: $freediameter_path/etc/freeDiameter/"
- sudo mkdir -p $freediameter_path/etc/freeDiameter/
- fi
-
- sudo mv mme.cakey.pem mme.cert.pem mme.cacert.pem mme.key.pem $freediameter_path/etc/freeDiameter/
- cd -
-}
-
-#$1 if freediameter path
-#$2 is fqdn
-function main() {
- local freediameter_path=$1
- local fqdn=$2
- if [ -d $freediameter_path/etc/freeDiameter ]; then
- if [ -f $freediameter_path/etc/freeDiameter/mme.cert.pem ]; then
- full_hostname=`cat $freediameter_path/etc/freeDiameter/mme.cert.pem | grep "Subject" | grep "CN" | cut -d '=' -f6`
- if [ a$full_hostname == a$fqdn ]; then
- echo_success "MME S6A: Found valid certificate in $freediameter_path/etc/freeDiameter"
- return 0
- else
- echo_error "Bad mme fqdn found in cert file: $full_hostname fqdn is $fqdn"
- fi
- else
- echo_error "File $freediameter_path/etc/freeDiameter/mme.cert.pem not found"
- fi
- else
- echo_error "Directory $freediameter_path/etc/freeDiameter not found"
- fi
- echo_error "MME S6A: Did not find valid certificate in $freediameter_path/etc/freeDiameter"
- echo_warning "MME S6A: generating new certificate in $freediameter_path/etc/freeDiameter..."
- _create_mme_certs $freediameter_path $fqdn
- if [ $# -lt 3 ] ; then
- main $freediameter_path $fqdn 2
- return $?
- else
- echo_error "Could not access to freeDiameter path: $freediameter_path/etc/freeDiameter"
- exit 1
- fi
-}
-
-main "$@"
diff --git a/cmake_targets/tools/create_hss_database b/cmake_targets/tools/create_hss_database
deleted file mode 100755
index 054be034d7..0000000000
--- a/cmake_targets/tools/create_hss_database
+++ /dev/null
@@ -1,103 +0,0 @@
-#!/bin/bash
-################################################################################
-# OpenAirInterface
-# Copyright(c) 1999 - 2014 Eurecom
-#
-# OpenAirInterface is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) anylater version.
-#
-#
-# OpenAirInterface is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with OpenAirInterface.The full GNU General Public License is
-# included in this distribution in the file called "COPYING". If not,
-# see .
-#
-# Contact Information
-# OpenAirInterface Admin: openair_admin@eurecom.fr
-# OpenAirInterface Tech : openair_tech@eurecom.fr
-# OpenAirInterface Dev : openair4g-devel@eurecom.fr
-#
-# Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-#
-################################################################################
-# file create_hss_database
-# brief
-# author Lionel Gauthier
-# company Eurecom
-# email: lionel.gauthier@eurecom.fr
-################################
-# include helper functions
-################################
-THIS_SCRIPT_PATH=$(dirname $(readlink -f $0))
-. $THIS_SCRIPT_PATH/build_helper
-
-
-# arg 1 is mysql user (ex: root)
-# arg 2 is mysql password (ex: linux)
-# arg 3 is hss username (ex: hssadmin)
-# arg 4 is hss password (ex: admin)
-# arg 5 is database name (ex: oai_db)
-function main()
-{
- EXPECTED_ARGS=5
- E_BADARGS=65
- MYSQL=`which mysql`
- rv=0
- if [ $# -ne $EXPECTED_ARGS ]
- then
- echo_fatal "Usage: $0 dbuser dbpass hssuser hsspass databasename"
- rv=1
- fi
-
- set_openair_env
-
- # removed %
- #Q1="GRANT ALL PRIVILEGES ON *.* TO '$3'@'%' IDENTIFIED BY '$4' WITH GRANT OPTION;"
- Q1="GRANT ALL PRIVILEGES ON *.* TO '$3'@'localhost' IDENTIFIED BY '$4' WITH GRANT OPTION;"
- Q2="FLUSH PRIVILEGES;"
- SQL="${Q1}${Q2}"
- $MYSQL -u $1 --password=$2 -e "$SQL"
- if [ $? -ne 0 ]; then
- echo_error "$3 permissions failed"
- return 1
- else
- echo_success "$3 permissions succeeded"
- fi
-
-
- Q1="CREATE DATABASE IF NOT EXISTS ${BTICK}$5${BTICK};"
- SQL="${Q1}"
- $MYSQL -u $3 --password=$4 -e "$SQL"
- if [ $? -ne 0 ]; then
- echo_error "$5 creation failed"
- return 1
- else
- echo_success "$5 creation succeeded"
- fi
-
-
- # test if tables have been created
- mysql -u $3 --password=$4 -e "desc $5.users" > /dev/null 2>&1
-
- if [ $? -eq 1 ]; then
- $MYSQL -u $3 --password=$4 $5 < $OPENAIRCN_DIR/OPENAIRHSS/db/$5.sql
- if [ $? -ne 0 ]; then
- echo_error "$5 tables creation failed"
- return 1
- else
- echo_success "$5 tables creation succeeded"
- fi
- fi
-
- return 0
-}
-
-main "$@"
-
diff --git a/cmake_targets/tools/epc.conf.in b/cmake_targets/tools/epc.conf.in
deleted file mode 100755
index 7af3cca4cc..0000000000
--- a/cmake_targets/tools/epc.conf.in
+++ /dev/null
@@ -1,163 +0,0 @@
-# Internet
-# |
-# PGW_IPV4_ADDRESS_FOR_SGI |
-# +-----------+-------+------------+---------------+--------------------------+
-# |host y | | PGW_INTERFACE_NAME_FOR_SGI | |
-# +-----------+ +------------+---------------+ |
-# | | |
-# | +----+----+ (HSS may run on this host |
-# | | mme_gw | or on another one) |
-# | +----+----+ |
-# | | |
-# | +-----------------+--------------------+ |
-# | | SGW_INTERFACE_NAME_FOR_S1U_S12_S4_UP | |
-# | | MME_INTERFACE_NAME_FOR_S1_MME | |
-# +----------------------------+---+--+---------------------------------------+
-# MME_IPV4_ADDRESS_FOR_S1_MME | (S1-C and S1-U addresses/interfaces may be the same)
-# SGW_IPV4_ADDRESS_FOR_S1U_S12_S4_UP
-# |
-# |
-# a.b.c.d |
-# +---------------+------------+---+--+---------------------------------------+
-# |eNBx | | ethx | |
-# +---------------+ +---+--+ |
-# | | |
-# | +------+---------+ |
-# | | lte-softmodem | |
-# | | or | |
-# | | oaisim (1)eNB (x UEs) |
-# | +-------+--------+ |
-# +---------------------------------+-----------------------------------------+
-# |
-# O (RF antenna)
-
-MME :
-{
-
- REALM = "@REALM@"; # DO NOT CHANGE
- # Define the limits of the system in terms of served eNB and served UE.
- # When the limits will be reached, overload procedure will take place.
- MAXENB = 10;
- MAXUE = 100;
- RELATIVE_CAPACITY = 10;
- # Display statistics about whole system (expressed in seconds)
- MME_STATISTIC_TIMER = 10;
- EMERGENCY_ATTACH_SUPPORTED = "no";
- UNAUTHENTICATED_IMSI_SUPPORTED = "no";
- # ASN1 VERBOSITY: none, info, annoying
- VERBOSITY = "none";
-
-
- IP_CAPABILITY = "IPV4V6";
-
-
- INTERTASK_INTERFACE :
- {
- # max queue size per task
- ITTI_QUEUE_SIZE = 2000000;
- };
-
- S6A :
- {
- S6A_CONF = "@FREEDIAMETER_PATH@/../etc/freeDiameter/mme_fd.conf";# DO NOT CHANGE
- HSS_HOSTNAME = "@HSS_HOSTNAME@"; # DO NOT CHANGE
- };
-
- # ------- SCTP definitions
- SCTP :
- {
- # Number of streams to use in input/output
- SCTP_INSTREAMS = 8;
- SCTP_OUTSTREAMS = 8;
- };
-
- # ------- S1AP definitions
- S1AP :
- {
- # outcome drop timer value (seconds)
- S1AP_OUTCOME_TIMER = 10;
- };
-
- # ------- MME served GUMMEI
- GUMMEI :
- {
- # MME code DEFAULT = 0
- # size = 8 bits
- # maximum of 256 values, comma separated
- MME_CODE = [ 1, 30 , 31, 32, 33, 34, 35, 36, 56 , 29 , 8 ];
-
- # MME GROUP ID DEFAULT = 0
- # size = 16 bits
- # maximum of 65535 values, comma separated
- MME_GID = [ 32768 , 4 , 5 , 30 , 8 , 9 , 50021 ];
-
- # TA (mcc.mnc:tracking area code) DEFAULT = 208.34:0
- # max values = 999.999:65535
- # maximum of 32 values, comma separated
- TAI_LIST = (
- {MCC="208" ; MNC="95"; TAC = "1"; } # YOUR PLMN CONFIG HERE
- );
- };
-
- NAS :
- {
- # 3GPP TS 33.401 section 7.2.4.3 Procedures for NAS algorithm selection
- # decreasing preference goes from left to right
- ORDERED_SUPPORTED_INTEGRITY_ALGORITHM_LIST = [ "EIA2" , "EIA1" , "EIA0" ];
- ORDERED_SUPPORTED_CIPHERING_ALGORITHM_LIST = [ "EEA0" , "EEA1" , "EEA2" ];
- };
-
- NETWORK_INTERFACES :
- {
- MME_INTERFACE_NAME_FOR_S1_MME = "eth2"; # YOUR NETWORK CONFIG HERE
- MME_IPV4_ADDRESS_FOR_S1_MME = "192.168.27.101//24"; # YOUR NETWORK CONFIG HERE
-
- MME_INTERFACE_NAME_FOR_S11_MME = "none";
- MME_IPV4_ADDRESS_FOR_S11_MME = "0.0.0.0/24";
- };
-};
-
-S-GW :
-{
- NETWORK_INTERFACES :
- {
- SGW_INTERFACE_NAME_FOR_S11 = "none";
- SGW_IPV4_ADDRESS_FOR_S11 = "0.0.0.0/24";
-
- SGW_INTERFACE_NAME_FOR_S1U_S12_S4_UP = "eth2"; # YOUR NETWORK CONFIG HERE
- SGW_IPV4_ADDRESS_FOR_S1U_S12_S4_UP = "192.168.27.101/24"; # YOUR NETWORK CONFIG HERE
- SGW_IPV4_PORT_FOR_S1U_S12_S4_UP = 2152; # PREFER NOT CHANGE
-
- SGW_INTERFACE_NAME_FOR_S5_S8_UP = "none"; # DO NOT CHANGE
- SGW_IPV4_ADDRESS_FOR_S5_S8_UP = "0.0.0.0/24"; # DO NOT CHANGE
- };
-};
-
-P-GW =
-{
- NETWORK_INTERFACES :
- {
- PGW_INTERFACE_NAME_FOR_S5_S8 = "none"; # DO NOT CHANGE
- PGW_IPV4_ADDRESS_FOR_S5_S8 = "0.0.0.0/24"; # DO NOT CHANGE
-
- PGW_INTERFACE_NAME_FOR_SGI = "eth0"; # YOUR NETWORK CONFIG HERE
- PGW_IPV4_ADDRESS_FOR_SGI = "192.168.12.213/24"; # YOUR NETWORK CONFIG HERE
- PGW_MASQUERADE_SGI = "yes"; # YOUR NETWORK CONFIG HERE
- };
-
- IP_ADDRESS_POOL :
- {
- IPV4_LIST = (
- "192.188.0.0/24", # YOUR NETWORK CONFIG HERE
- "192.188.1.0/24" # YOUR NETWORK CONFIG HERE
- );
- IPV6_LIST = (
- "2014:02:26::0/120" # YOUR NETWORK CONFIG HERE
- );
- };
-
- DEFAULT_DNS_IPV4_ADDRESS = "192.168.106.12"; # YOUR NETWORK CONFIG HERE
- DEFAULT_DNS_SEC_IPV4_ADDRESS = "192.168.12.100"; # YOUR NETWORK CONFIG HERE
-};
-
-
diff --git a/cmake_targets/tools/epc.local.enb.conf.in b/cmake_targets/tools/epc.local.enb.conf.in
deleted file mode 100755
index 353a294f64..0000000000
--- a/cmake_targets/tools/epc.local.enb.conf.in
+++ /dev/null
@@ -1,130 +0,0 @@
-MME :
-{
-
- REALM = "@REALM@"; # DO NOT CHANGE
- # Define the limits of the system in terms of served eNB and served UE.
- # When the limits will be reached, overload procedure will take place.
- MAXENB = 10;
- MAXUE = 100;
- RELATIVE_CAPACITY = 10;
- # Display statistics about whole system (expressed in seconds)
- MME_STATISTIC_TIMER = 10;
- EMERGENCY_ATTACH_SUPPORTED = "no";
- UNAUTHENTICATED_IMSI_SUPPORTED = "no";
- # ASN1 VERBOSITY: none, info, annoying
- VERBOSITY = "none";
-
-
- IP_CAPABILITY = "IPV4V6";
-
-
- INTERTASK_INTERFACE :
- {
- # max queue size per task
- ITTI_QUEUE_SIZE = 2000000;
- };
-
- S6A :
- {
- S6A_CONF = "@FREEDIAMETER_PATH@/../etc/freeDiameter/mme_fd.conf";# DO NOT CHANGE
- HSS_HOSTNAME = "@HSS_HOSTNAME@"; # DO NOT CHANGE
- };
-
- # ------- SCTP definitions
- SCTP :
- {
- # Number of streams to use in input/output
- SCTP_INSTREAMS = 8;
- SCTP_OUTSTREAMS = 8;
- };
-
- # ------- S1AP definitions
- S1AP :
- {
- # outcome drop timer value (seconds)
- S1AP_OUTCOME_TIMER = 10;
- };
-
- # ------- MME served GUMMEI
- GUMMEI :
- {
- # MME code DEFAULT = 0
- # size = 8 bits
- # maximum of 256 values, comma separated
- MME_CODE = [ 1, 30 , 31, 32, 33, 34, 35, 36, 56 , 29 , 8 ];
-
- # MME GROUP ID DEFAULT = 0
- # size = 16 bits
- # maximum of 65535 values, comma separated
- MME_GID = [ 32768 , 4 , 5 , 30 , 8 , 9 , 50021 ];
-
- # TA (mcc.mnc:tracking area code) DEFAULT = 208.34:0
- # max values = 999.999:65535
- # maximum of 32 values, comma separated
- TAI_LIST = (
- {MCC="208" ; MNC="95"; TAC = "1"; } # YOUR PLMN CONFIG HERE
- );
- };
-
- NAS :
- {
- # 3GPP TS 33.401 section 7.2.4.3 Procedures for NAS algorithm selection
- # decreasing preference goes from left to right
- ORDERED_SUPPORTED_INTEGRITY_ALGORITHM_LIST = [ "EIA2" , "EIA1" , "EIA0" ];
- ORDERED_SUPPORTED_CIPHERING_ALGORITHM_LIST = [ "EEA0" , "EEA1" , "EEA2" ];
- };
-
- NETWORK_INTERFACES :
- {
- MME_INTERFACE_NAME_FOR_S1_MME = "tun2"; # DO NOT CHANGE
- MME_IPV4_ADDRESS_FOR_S1_MME = "192.188.2.2/24"; # DO NOT CHANGE
-
- MME_INTERFACE_NAME_FOR_S11_MME = "none";
- MME_IPV4_ADDRESS_FOR_S11_MME = "0.0.0.0/24";
- };
-};
-
-S-GW :
-{
- NETWORK_INTERFACES :
- {
- SGW_INTERFACE_NAME_FOR_S11 = "none";
- SGW_IPV4_ADDRESS_FOR_S11 = "0.0.0.0/24";
-
- SGW_INTERFACE_NAME_FOR_S1U_S12_S4_UP = "lo"; # DO NOT CHANGE
- SGW_IPV4_ADDRESS_FOR_S1U_S12_S4_UP = "127.0.0.1/24"; # DO NOT CHANGE
- SGW_IPV4_PORT_FOR_S1U_S12_S4_UP = 2152; # PREFER NOT CHANGE
-
- SGW_INTERFACE_NAME_FOR_S5_S8_UP = "none"; # DO NOT CHANGE
- SGW_IPV4_ADDRESS_FOR_S5_S8_UP = "0.0.0.0/24"; # DO NOT CHANGE
- };
-};
-
-P-GW =
-{
- NETWORK_INTERFACES :
- {
- PGW_INTERFACE_NAME_FOR_S5_S8 = "none"; # DO NOT CHANGE
- PGW_IPV4_ADDRESS_FOR_S5_S8 = "0.0.0.0/24"; # DO NOT CHANGE
-
- PGW_INTERFACE_NAME_FOR_SGI = "eth0"; # YOUR NETWORK CONFIG HERE
- PGW_IPV4_ADDRESS_FOR_SGI = "192.168.12.213/24"; # YOUR NETWORK CONFIG HERE
- PGW_MASQUERADE_SGI = "yes"; # YOUR NETWORK CONFIG HERE
- };
-
- IP_ADDRESS_POOL :
- {
- IPV4_LIST = (
- "192.187.0.0/24", # YOUR NETWORK CONFIG HERE
- "192.187.1.0/24" # YOUR NETWORK CONFIG HERE
- );
- IPV6_LIST = (
- "2014:02:26::0/120" # YOUR NETWORK CONFIG HERE
- );
- };
-
- DEFAULT_DNS_IPV4_ADDRESS = "192.168.106.12"; # YOUR NETWORK CONFIG HERE
- DEFAULT_DNS_SEC_IPV4_ADDRESS = "192.168.12.100"; # YOUR NETWORK CONFIG HERE
-};
-
-
diff --git a/cmake_targets/tools/example_enb_exmimo_mme_hss.txt b/cmake_targets/tools/example_enb_exmimo_mme_hss.txt
index c8227f176a..2c693a5003 100644
--- a/cmake_targets/tools/example_enb_exmimo_mme_hss.txt
+++ b/cmake_targets/tools/example_enb_exmimo_mme_hss.txt
@@ -21,7 +21,7 @@
# Contact Information
# OpenAirInterface Admin: openair_admin@eurecom.fr
# OpenAirInterface Tech : openair_tech@eurecom.fr
-# OpenAirInterface Dev : openair4g-devel@eurecom.fr
+# OpenAirInterface Dev : openair4g-devel@lists.eurecom.fr
#
# Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
#
diff --git a/cmake_targets/tools/example_oaisim_enb_ue_mme_virtual.txt b/cmake_targets/tools/example_oaisim_enb_ue_mme_virtual.txt
index d07d10b9d0..b47c6137c5 100644
--- a/cmake_targets/tools/example_oaisim_enb_ue_mme_virtual.txt
+++ b/cmake_targets/tools/example_oaisim_enb_ue_mme_virtual.txt
@@ -21,7 +21,7 @@
# Contact Information
# OpenAirInterface Admin: openair_admin@eurecom.fr
# OpenAirInterface Tech : openair_tech@eurecom.fr
-# OpenAirInterface Dev : openair4g-devel@eurecom.fr
+# OpenAirInterface Dev : openair4g-devel@lists.eurecom.fr
#
# Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
#
diff --git a/cmake_targets/tools/indent_source_code b/cmake_targets/tools/indent_source_code
index f666e65660..5e9f08f067 100755
--- a/cmake_targets/tools/indent_source_code
+++ b/cmake_targets/tools/indent_source_code
@@ -22,7 +22,7 @@
# Contact Information
# OpenAirInterface Admin: openair_admin@eurecom.fr
# OpenAirInterface Tech : openair_tech@eurecom.fr
-# OpenAirInterface Dev : openair4g-devel@eurecom.fr
+# OpenAirInterface Dev : openair4g-devel@lists.eurecom.fr
#
# Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
#
diff --git a/cmake_targets/tools/init_exmimo2 b/cmake_targets/tools/init_exmimo2
index 5e4d13bec3..66eedf93dd 100755
--- a/cmake_targets/tools/init_exmimo2
+++ b/cmake_targets/tools/init_exmimo2
@@ -23,7 +23,7 @@
# Contact Information
# OpenAirInterface Admin: openair_admin@eurecom.fr
# OpenAirInterface Tech : openair_tech@eurecom.fr
-# OpenAirInterface Dev : openair4g-devel@eurecom.fr
+# OpenAirInterface Dev : openair4g-devel@lists.eurecom.fr
#
# Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
#
diff --git a/cmake_targets/tools/init_nas_nos1 b/cmake_targets/tools/init_nas_nos1
index fed8eacc10..d2b7760867 100644
--- a/cmake_targets/tools/init_nas_nos1
+++ b/cmake_targets/tools/init_nas_nos1
@@ -23,7 +23,7 @@
# Contact Information
# OpenAirInterface Admin: openair_admin@eurecom.fr
# OpenAirInterface Tech : openair_tech@eurecom.fr
-# OpenAirInterface Dev : openair4g-devel@eurecom.fr
+# OpenAirInterface Dev : openair4g-devel@lists.eurecom.fr
#
# Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
#
diff --git a/cmake_targets/tools/perf_oai.bash b/cmake_targets/tools/perf_oai.bash
index 71519534e3..fe51ef1ee5 100755
--- a/cmake_targets/tools/perf_oai.bash
+++ b/cmake_targets/tools/perf_oai.bash
@@ -21,7 +21,7 @@
# Contact Information
# OpenAirInterface Admin: openair_admin@eurecom.fr
# OpenAirInterface Tech : openair_tech@eurecom.fr
-# OpenAirInterface Dev : openair4g-devel@eurecom.fr
+# OpenAirInterface Dev : openair4g-devel@lists.eurecom.fr
#
# Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
#
diff --git a/cmake_targets/tools/run_enb_s1_exmimo b/cmake_targets/tools/run_enb_s1_exmimo
index a2a50220a6..e2df8b5049 100755
--- a/cmake_targets/tools/run_enb_s1_exmimo
+++ b/cmake_targets/tools/run_enb_s1_exmimo
@@ -22,7 +22,7 @@
# Contact Information
# OpenAirInterface Admin: openair_admin@eurecom.fr
# OpenAirInterface Tech : openair_tech@eurecom.fr
-# OpenAirInterface Dev : openair4g-devel@eurecom.fr
+# OpenAirInterface Dev : openair4g-devel@lists.eurecom.fr
#
# Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
#
diff --git a/cmake_targets/tools/run_enb_s1_usrp b/cmake_targets/tools/run_enb_s1_usrp
index a4766ed658..01f4156071 100755
--- a/cmake_targets/tools/run_enb_s1_usrp
+++ b/cmake_targets/tools/run_enb_s1_usrp
@@ -22,7 +22,7 @@
# Contact Information
# OpenAirInterface Admin: openair_admin@eurecom.fr
# OpenAirInterface Tech : openair_tech@eurecom.fr
-# OpenAirInterface Dev : openair4g-devel@eurecom.fr
+# OpenAirInterface Dev : openair4g-devel@lists.eurecom.fr
#
# Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
#
diff --git a/cmake_targets/tools/run_enb_ue_virt_noS1 b/cmake_targets/tools/run_enb_ue_virt_noS1
index c1ce434fa5..74abe0de02 100755
--- a/cmake_targets/tools/run_enb_ue_virt_noS1
+++ b/cmake_targets/tools/run_enb_ue_virt_noS1
@@ -22,7 +22,7 @@
# Contact Information
# OpenAirInterface Admin: openair_admin@eurecom.fr
# OpenAirInterface Tech : openair_tech@eurecom.fr
-# OpenAirInterface Dev : openair4g-devel@eurecom.fr
+# OpenAirInterface Dev : openair4g-devel@lists.eurecom.fr
#
# Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
#
diff --git a/cmake_targets/tools/run_enb_ue_virt_s1 b/cmake_targets/tools/run_enb_ue_virt_s1
index 2ce29429b1..9cc226a698 100755
--- a/cmake_targets/tools/run_enb_ue_virt_s1
+++ b/cmake_targets/tools/run_enb_ue_virt_s1
@@ -22,7 +22,7 @@
# Contact Information
# OpenAirInterface Admin: openair_admin@eurecom.fr
# OpenAirInterface Tech : openair_tech@eurecom.fr
-# OpenAirInterface Dev : openair4g-devel@eurecom.fr
+# OpenAirInterface Dev : openair4g-devel@lists.eurecom.fr
#
# Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
#
diff --git a/cmake_targets/tools/run_epc b/cmake_targets/tools/run_epc
deleted file mode 100755
index 08a014cde0..0000000000
--- a/cmake_targets/tools/run_epc
+++ /dev/null
@@ -1,199 +0,0 @@
-#!/bin/bash
-################################################################################
-# OpenAirInterface
-# Copyright(c) 1999 - 2014 Eurecom
-#
-# OpenAirInterface is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) anylater version.
-#
-#
-# OpenAirInterface is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with OpenAirInterface.The full GNU General Public License is
-# included in this distribution in the file called "COPYING". If not,
-# see .
-#
-# Contact Information
-# OpenAirInterface Admin: openair_admin@eurecom.fr
-# OpenAirInterface Tech : openair_tech@eurecom.fr
-# OpenAirInterface Dev : openair4g-devel@eurecom.fr
-#
-# Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-#
-################################################################################
-# file run_epc
-# brief run script for EPC (MME+SGW-LITE).
-# author Lionel GAUTHIER
-# company Eurecom
-# email: lionel.gauthier@eurecom.fr
-
-
-################################
-# include helper functions
-################################
-THIS_SCRIPT_PATH=$(dirname $(readlink -f $0))
-source $THIS_SCRIPT_PATH/build_helper
-declare -i g_run_msc_gen=0
-declare g_msc_dir="/tmp"
-
-set_openair_env
-
-
-function help()
-{
- echo_error " "
- echo_error "Usage: run_epc [OPTION]..."
- echo_error "Run the EPC executable (MME+SGW-LITE)."
- echo_error " "
- echo_error "Options:"
- echo_error "Mandatory arguments to long options are mandatory for short options too."
- echo_error " -g, --gdb Run with GDB."
- echo_error " -h, --help Print this help."
- echo_error " -K, --itti-dump-file ITTI dump file containing all ITTI events occuring during EPC runtime."
- echo_error " -l, --local-enb EPC run on the same eNB host."
- echo_error " -m, --mscgen directory Generate mscgen output files in a directory"
- echo_error " -v, --verbosity-level Verbosity level (0,1,2)."
- echo_error " 0 -> ASN1 XER printf off"
- echo_error " 1 -> ASN1 XER printf on and ASN1 debug off"
- echo_error " 2 -> ASN1 XER printf on and ASN1 debug on"
-}
-
-function do_msc_gen()
-{
- cd $g_msc_dir
- last_created_file=`ls -t mscgen* | head -1 | tr -d ':'`
- $OPENAIR_DIR/targets/SCRIPTS/msc_gen.py
- sync
- last_created_file2=`ls -t mscgen* | head -1 | tr -d ':'`
-
- if [ x"$last_created_file" != x"$last_created_file2" ]; then
- if [ -f ./$last_created_file2/oai_mscgen_page_0.png ]; then
- command -v eog 2>/dev/null && eog ./$last_created_file2/oai_mscgen_page_0.png
- fi
- fi
-
-}
-
-function control_c()
-# run if user hits control-c
-{
- echo_warning "\nExiting by ctrl+c\n"
- if [ $g_run_msc_gen -eq 1 ]; then
- do_msc_gen
- fi
- exit $?
-}
-
-function main()
-{
- local -i run_gdb=0
- local exe_arguments=" "
- local -i epc_local=0
- local -r epc_default_config_file="$OPENAIR_TARGETS/bin/epc.conf"
- local epc_config_file=$epc_default_config_file
-
- until [ -z "$1" ]
- do
- case "$1" in
- -g | --gdb)
- run_gdb=1
- echo "setting GDB flag to: $GDB"
- shift;
- ;;
- -h | --help)
- help
- exit 0
- ;;
- -K | --itti-dump-file)
- local itti_dump_file=$2
- # can omit file name if last arg on the line
- if [ "x$itti_dump_file" = "x" ]; then
- itti_dump_file="/tmp/epc_itti.log"
- else
- shift 1;
- fi
- echo "setting ITTI dump file to: $itti_dump_file"
- exe_arguments="$exe_arguments -K $itti_dump_file"
- shift 1;
- ;;
- -l | --local-enb)
- epc_local=1
- shift;
- ;;
- -m | --mscgen)
- g_msc_dir=$2
- if [ -d "$g_msc_dir" ]; then
- echo "setting mscgen log files to dir: $g_msc_dir"
- g_run_msc_gen=1
- shift 2;
- else
- echo_error "Mscgen log dir does not exist"
- exit -1
- fi
- ;;
- -v | --verbosity-level)
- local verbosity_level=$2
- echo "setting verbosity level to: $verbosity_level"
- exe_arguments="-v $verbosity_level $exe_arguments"
- shift 2;
- ;;
- *)
- echo "Unknown option $1"
- help
- exit 0
- ;;
- esac
- done
-
- set_openair_env
- cecho "OPENAIR_DIR = $OPENAIR_DIR" $green
-
-
- if [ ! -e $OPENAIR_DIR/targets/bin/mme_gw.Rel10 ]; then
- echo_fatal "Cannot find $OPENAIR_DIR/targets/bin/mme_gw.Rel10 executable, have a look at the output of build_epc executable"
- fi
-
- if [ $epc_local -eq 1 ]; then
- epc_config_file="$OPENAIR_DIR/targets/bin/epc.local.enb.conf"
- fi
-
- if [ $g_run_msc_gen -eq 1 ]; then
- rm -f /tmp/openair.msc.*
- fi
-
- exe_arguments="-O $epc_config_file $exe_arguments"
-
- if [ $run_gdb -eq 0 ]; then
- # trap keyboard interrupt (control-c)
- trap control_c SIGINT
- $OPENAIR_DIR/targets/bin/mme_gw.Rel10 `echo $exe_arguments` 2>&1
- else
- # trap keyboard interrupt (control-c) is done by gdb
- touch ~/.gdb_mme_gw
- chmod 777 ~/.gdb_mme_gw
- echo "file $OPENAIR_DIR/targets/bin/mme_gw.Rel10" > ~/.gdb_mme_gw
- echo "set args $exe_arguments " >> ~/.gdb_mme_gw
- echo "run" >> ~/.gdb_mme_gw
- cat ~/.gdb_mme_gw
- gdb -n -x ~/.gdb_mme_gw
- if [ $g_run_msc_gen -eq 1 ]; then
- do_msc_gen
- fi
- fi
-}
-
-sudo echo
-is_sudo=$?
-if [[ "$is_sudo" -ne 0 ]]; then
- echo_error "This script must be run by root or a sudo'er"
- echo
- exit 1
-fi
-
-main "$@"
diff --git a/cmake_targets/tools/run_hss b/cmake_targets/tools/run_hss
deleted file mode 100755
index 03b2132d96..0000000000
--- a/cmake_targets/tools/run_hss
+++ /dev/null
@@ -1,113 +0,0 @@
-#!/bin/bash
-################################################################################
-# OpenAirInterface
-# Copyright(c) 1999 - 2014 Eurecom
-#
-# OpenAirInterface is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) anylater version.
-#
-#
-# OpenAirInterface is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with OpenAirInterface.The full GNU General Public License is
-# included in this distribution in the file called "COPYING". If not,
-# see .
-#
-# Contact Information
-# OpenAirInterface Admin: openair_admin@eurecom.fr
-# OpenAirInterface Tech : openair_tech@eurecom.fr
-# OpenAirInterface Dev : openair4g-devel@eurecom.fr
-#
-# Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-#
-################################################################################
-# file run_hss
-# brief run script for HSS (!EXPERIMENTAL!).
-# author Lionel GAUTHIER
-# company Eurecom
-# email: lionel.gauthier@eurecom.fr
-
-
-################################
-# include helper functions
-################################
-THIS_SCRIPT_PATH=$(dirname $(readlink -f $0))
-source $THIS_SCRIPT_PATH/build_helper
-
-
-function help()
-{
- echo_error " "
- echo_error "Usage: run_hss [OPTION]..."
- echo_error "Run the HSS executable (experimental)."
- echo_error " "
- echo_error "Options:"
- echo_error "Mandatory arguments to long options are mandatory for short options too."
- echo_error " -g, --gdb Run with GDB."
- echo_error " -h, --help Print this help."
-}
-
-
-
-function main()
-{
- local -i run_gdb=0
- local exe_arguments=" -c ./hss.conf"
-
- until [ -z "$1" ]
- do
- case "$1" in
- -g | --gdb)
- run_gdb=1
- echo "setting GDB flag to: $GDB"
- shift;
- ;;
- -h | --help)
- help
- exit 0
- ;;
- *)
- echo "Unknown option $1"
- help
- exit 0
- ;;
- esac
- done
-
- set_openair_env
- cecho "OPENAIR_DIR = $OPENAIR_DIR" $green
- cecho "OPENAIR1_DIR = $OPENAIR1_DIR" $green
- cecho "OPENAIR2_DIR = $OPENAIR2_DIR" $green
- cecho "OPENAIR3_DIR = $OPENAIR3_DIR" $green
- cecho "OPENAIRCN_DIR = $OPENAIRCN_DIR" $green
- cecho "OPENAIR_TARGETS = $OPENAIR_TARGETS" $green
-
-
- if [ ! -e $OPENAIR_TARGETS/bin/openair-hss ]; then
- echo_fatal "Cannot find $OPENAIR_TARGETS/bin/openair-hss executable"
- fi
-
- # for file config relative path
- cd $OPENAIR_TARGETS/bin
-
- if [ $run_gdb -eq 0 ]; then
- exec $OPENAIR_TARGETS/bin/openair-hss `echo $exe_arguments` 2>&1
- else
- touch ~/.gdb_hss
- chmod 777 ~/.gdb_hss
- echo "file $OPENAIR_TARGETS/bin/openair-hss" > ~/.gdb_hss
- echo "set args $exe_arguments " >> ~/.gdb_hss
- echo "run" >> ~/.gdb_hss
- cat ~/.gdb_hss
- gdb -n -x ~/.gdb_hss 2>&1
- fi
-}
-
-
-main "$@"
diff --git a/cmake_targets/tools/s6a.conf.in b/cmake_targets/tools/s6a.conf.in
deleted file mode 100644
index 6b357b71fc..0000000000
--- a/cmake_targets/tools/s6a.conf.in
+++ /dev/null
@@ -1,97 +0,0 @@
-# -------- Local ---------
-
-# Uncomment if the framework cannot resolv it.
-Identity = "@MME_FQDN@";
-Realm = "@REALM@";
-
-# TLS configuration (see previous section)
-TLS_Cred = "@FREEDIAMETER_PATH@/../etc/freeDiameter/mme.cert.pem",
- "@FREEDIAMETER_PATH@/../etc/freeDiameter/mme.key.pem";
-TLS_CA = "@FREEDIAMETER_PATH@/../etc/freeDiameter/mme.cacert.pem";
-
-# Disable use of TCP protocol (only listen and connect in SCTP)
-# Default : TCP enabled
-@TRANSPORT_option@;
-
-# This option is ignored if freeDiameter is compiled with DISABLE_SCTP option.
-# Prefer TCP instead of SCTP for establishing new connections.
-# This setting may be overwritten per peer in peer configuration blocs.
-# Default : SCTP is attempted first.
-@TRANSPORT_PREFER_TCP_option@;
-
-
-No_IPv6;
-
-# Overwrite the number of SCTP streams. This value should be kept low,
-# especially if you are using TLS over SCTP, because it consumes a lot of
-# resources in that case. See tickets 19 and 27 for some additional details on
-# this.
-# Limit the number of SCTP streams
-SCTP_streams = 3;
-
-
-# By default, freeDiameter acts as a Diameter Relay Agent by forwarding all
-# messages it cannot handle locally. This parameter disables this behavior.
-NoRelay;
-
-
-TLS_old_method;
-
-
-AppServThreads = 1;
-
-# Specify the addresses on which to bind the listening server. This must be
-# specified if the framework is unable to auto-detect these addresses, or if the
-# auto-detected values are incorrect. Note that the list of addresses is sent
-# in CER or CEA message, so one should pay attention to this parameter if some
-# adresses should be kept hidden.
-@ListenOn@
-
-@DIAMETER_PORT@;
-@DIAMETER_SEC_PORT@;
-
-# -------- Extensions ---------
-
-# Uncomment (and create rtd.conf) to specify routing table for this peer.
-#LoadExtension = "rt_default.fdx" : "rtd.conf";
-
-# Uncomment (and create acl.conf) to allow incoming connections from other peers.
-#LoadExtension = "acl_wl.fdx" : "acl.conf";
-
-# Uncomment to display periodic state information
-#LoadExtension = "dbg_monitor.fdx";
-
-# Uncomment to enable an interactive Python interpreter session.
-# (see doc/dbg_interactive.py.sample for more information)
-#LoadExtension = "dbg_interactive.fdx";
-
-# Load the RFC4005 dictionary objects
-#LoadExtension = "dict_nasreq.fdx";
-
-LoadExtension = "dict_nas_mipv6.fdx";
-LoadExtension = "dict_s6a.fdx";
-
-# Load RFC4072 dictionary objects
-#LoadExtension = "dict_eap.fdx";
-
-# Load the Diameter EAP server extension (requires diameap.conf)
-#LoadExtension = "app_diameap.fdx" : "diameap.conf";
-
-# Load the Accounting Server extension (requires app_acct.conf)
-#LoadExtension = "app_acct.fdx" : "app_acct.conf";
-
-# -------- Peers ---------
-
-# The framework will actively attempt to establish and maintain a connection
-# with the peers listed here.
-# For only accepting incoming connections, see the acl_wl.fx extension.
-
-# ConnectPeer
-# Declare a remote peer to which this peer must maintain a connection.
-# In addition, this allows specifying non-default parameters for this peer only
-# (for example disable SCTP with this peer, or use RFC3588-flavour TLS).
-# Note that by default, if a peer is not listed as a ConnectPeer entry, an
-# incoming connection from this peer will be rejected. If you want to accept
-# incoming connections from other peers, see the acl_wl.fdx? extension which
-# allows exactly this.
-@ConnectPeer@ = "@HSS_FQDN@" { ConnectTo = "@HSS_IP@"; No_IPv6; No_TLS ; port = 3868; Realm = "@REALM@"; };
diff --git a/common/utils/COPYING b/common/utils/COPYING
index 818433ecc0..c888423064 100644
--- a/common/utils/COPYING
+++ b/common/utils/COPYING
@@ -1,674 +1,28 @@
- GNU GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc.
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
- The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works. By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users. We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors. You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
- To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights. Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received. You must make sure that they, too, receive
-or can get the source code. And you must show them these terms so they
-know their rights.
-
- Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
- For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software. For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
- Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so. This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software. The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable. Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products. If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
- Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary. To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- TERMS AND CONDITIONS
-
- 0. Definitions.
-
- "This License" refers to version 3 of the GNU General Public License.
-
- "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
- "The Program" refers to any copyrightable work licensed under this
-License. Each licensee is addressed as "you". "Licensees" and
-"recipients" may be individuals or organizations.
-
- To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy. The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
- A "covered work" means either the unmodified Program or a work based
-on the Program.
-
- To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy. Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
- To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies. Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
- An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License. If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
- 1. Source Code.
-
- The "source code" for a work means the preferred form of the work
-for making modifications to it. "Object code" means any non-source
-form of a work.
-
- A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
- The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form. A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
- The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities. However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work. For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
- The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
- The Corresponding Source for a work in source code form is that
-same work.
-
- 2. Basic Permissions.
-
- All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met. This License explicitly affirms your unlimited
-permission to run the unmodified Program. The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work. This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
- You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force. You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright. Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
- Conveying under any other circumstances is permitted solely under
-the conditions stated below. Sublicensing is not allowed; section 10
-makes it unnecessary.
-
- 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
- No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
- When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
- 4. Conveying Verbatim Copies.
-
- You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
- You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
- 5. Conveying Modified Source Versions.
-
- You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
- a) The work must carry prominent notices stating that you modified
- it, and giving a relevant date.
-
- b) The work must carry prominent notices stating that it is
- released under this License and any conditions added under section
- 7. This requirement modifies the requirement in section 4 to
- "keep intact all notices".
-
- c) You must license the entire work, as a whole, under this
- License to anyone who comes into possession of a copy. This
- License will therefore apply, along with any applicable section 7
- additional terms, to the whole of the work, and all its parts,
- regardless of how they are packaged. This License gives no
- permission to license the work in any other way, but it does not
- invalidate such permission if you have separately received it.
-
- d) If the work has interactive user interfaces, each must display
- Appropriate Legal Notices; however, if the Program has interactive
- interfaces that do not display Appropriate Legal Notices, your
- work need not make them do so.
-
- A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit. Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
- 6. Conveying Non-Source Forms.
-
- You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
- a) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by the
- Corresponding Source fixed on a durable physical medium
- customarily used for software interchange.
-
- b) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by a
- written offer, valid for at least three years and valid for as
- long as you offer spare parts or customer support for that product
- model, to give anyone who possesses the object code either (1) a
- copy of the Corresponding Source for all the software in the
- product that is covered by this License, on a durable physical
- medium customarily used for software interchange, for a price no
- more than your reasonable cost of physically performing this
- conveying of source, or (2) access to copy the
- Corresponding Source from a network server at no charge.
-
- c) Convey individual copies of the object code with a copy of the
- written offer to provide the Corresponding Source. This
- alternative is allowed only occasionally and noncommercially, and
- only if you received the object code with such an offer, in accord
- with subsection 6b.
-
- d) Convey the object code by offering access from a designated
- place (gratis or for a charge), and offer equivalent access to the
- Corresponding Source in the same way through the same place at no
- further charge. You need not require recipients to copy the
- Corresponding Source along with the object code. If the place to
- copy the object code is a network server, the Corresponding Source
- may be on a different server (operated by you or a third party)
- that supports equivalent copying facilities, provided you maintain
- clear directions next to the object code saying where to find the
- Corresponding Source. Regardless of what server hosts the
- Corresponding Source, you remain obligated to ensure that it is
- available for as long as needed to satisfy these requirements.
-
- e) Convey the object code using peer-to-peer transmission, provided
- you inform other peers where the object code and Corresponding
- Source of the work are being offered to the general public at no
- charge under subsection 6d.
-
- A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
- A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling. In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage. For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product. A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
- "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source. The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
- If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information. But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
- The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed. Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
- Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
- 7. Additional Terms.
-
- "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law. If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
- When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it. (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.) You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
- Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
- a) Disclaiming warranty or limiting liability differently from the
- terms of sections 15 and 16 of this License; or
-
- b) Requiring preservation of specified reasonable legal notices or
- author attributions in that material or in the Appropriate Legal
- Notices displayed by works containing it; or
-
- c) Prohibiting misrepresentation of the origin of that material, or
- requiring that modified versions of such material be marked in
- reasonable ways as different from the original version; or
-
- d) Limiting the use for publicity purposes of names of licensors or
- authors of the material; or
-
- e) Declining to grant rights under trademark law for use of some
- trade names, trademarks, or service marks; or
-
- f) Requiring indemnification of licensors and authors of that
- material by anyone who conveys the material (or modified versions of
- it) with contractual assumptions of liability to the recipient, for
- any liability that these contractual assumptions directly impose on
- those licensors and authors.
-
- All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10. If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term. If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
- If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
- Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
- 8. Termination.
-
- You may not propagate or modify a covered work except as expressly
-provided under this License. Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
- However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
- Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
- Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License. If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
- 9. Acceptance Not Required for Having Copies.
-
- You are not required to accept this License in order to receive or
-run a copy of the Program. Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance. However,
-nothing other than this License grants you permission to propagate or
-modify any covered work. These actions infringe copyright if you do
-not accept this License. Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
- 10. Automatic Licensing of Downstream Recipients.
-
- Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License. You are not responsible
-for enforcing compliance by third parties with this License.
-
- An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations. If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
- You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License. For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
- 11. Patents.
-
- A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based. The
-work thus licensed is called the contributor's "contributor version".
-
- A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version. For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
- Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
- In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement). To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
- If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients. "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
- If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
- A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License. You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
- Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
- 12. No Surrender of Others' Freedom.
-
- If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all. For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
- 13. Use with the GNU Affero General Public License.
-
- Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work. The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
- 14. Revised Versions of this License.
-
- The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
- Each version is given a distinguishing version number. If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation. If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
- If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
- Later license versions may give you additional or different
-permissions. However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
- 15. Disclaimer of Warranty.
-
- THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. Limitation of Liability.
-
- IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
- 17. Interpretation of Sections 15 and 16.
-
- If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-
- Copyright (C)
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see .
-
-Also add information on how to contact you by electronic and paper mail.
-
- If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
- Copyright (C)
- This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
- You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-.
-
- The GNU General Public License does not permit incorporating your program
-into proprietary programs. If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library. If this is what you want to do, use the GNU Lesser General
-Public License instead of this License. But first, please read
-.
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
\ No newline at end of file
diff --git a/common/utils/asn1_conversions.h b/common/utils/asn1_conversions.h
index be7748fecf..bb7b244989 100644
--- a/common/utils/asn1_conversions.h
+++ b/common/utils/asn1_conversions.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
-
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
#ifndef ASN1_CONVERSIONS_H_
#define ASN1_CONVERSIONS_H_
diff --git a/common/utils/assertions.h b/common/utils/assertions.h
index a33c35ead3..8bb74109ed 100644
--- a/common/utils/assertions.h
+++ b/common/utils/assertions.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
-
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
#ifndef UTILS_ASSERTIONS_H_
#define UTILS_ASSERTIONS_H_
diff --git a/common/utils/collection/COPYING b/common/utils/collection/COPYING
index 818433ecc0..d605b9a3b1 100644
--- a/common/utils/collection/COPYING
+++ b/common/utils/collection/COPYING
@@ -1,674 +1,28 @@
- GNU GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc.
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
- The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works. By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users. We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors. You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
- To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights. Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received. You must make sure that they, too, receive
-or can get the source code. And you must show them these terms so they
-know their rights.
-
- Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
- For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software. For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
- Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so. This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software. The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable. Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products. If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
- Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary. To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- TERMS AND CONDITIONS
-
- 0. Definitions.
-
- "This License" refers to version 3 of the GNU General Public License.
-
- "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
- "The Program" refers to any copyrightable work licensed under this
-License. Each licensee is addressed as "you". "Licensees" and
-"recipients" may be individuals or organizations.
-
- To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy. The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
- A "covered work" means either the unmodified Program or a work based
-on the Program.
-
- To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy. Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
- To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies. Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
- An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License. If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
- 1. Source Code.
-
- The "source code" for a work means the preferred form of the work
-for making modifications to it. "Object code" means any non-source
-form of a work.
-
- A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
- The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form. A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
- The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities. However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work. For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
- The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
- The Corresponding Source for a work in source code form is that
-same work.
-
- 2. Basic Permissions.
-
- All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met. This License explicitly affirms your unlimited
-permission to run the unmodified Program. The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work. This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
- You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force. You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright. Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
- Conveying under any other circumstances is permitted solely under
-the conditions stated below. Sublicensing is not allowed; section 10
-makes it unnecessary.
-
- 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
- No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
- When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
- 4. Conveying Verbatim Copies.
-
- You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
- You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
- 5. Conveying Modified Source Versions.
-
- You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
- a) The work must carry prominent notices stating that you modified
- it, and giving a relevant date.
-
- b) The work must carry prominent notices stating that it is
- released under this License and any conditions added under section
- 7. This requirement modifies the requirement in section 4 to
- "keep intact all notices".
-
- c) You must license the entire work, as a whole, under this
- License to anyone who comes into possession of a copy. This
- License will therefore apply, along with any applicable section 7
- additional terms, to the whole of the work, and all its parts,
- regardless of how they are packaged. This License gives no
- permission to license the work in any other way, but it does not
- invalidate such permission if you have separately received it.
-
- d) If the work has interactive user interfaces, each must display
- Appropriate Legal Notices; however, if the Program has interactive
- interfaces that do not display Appropriate Legal Notices, your
- work need not make them do so.
-
- A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit. Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
- 6. Conveying Non-Source Forms.
-
- You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
- a) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by the
- Corresponding Source fixed on a durable physical medium
- customarily used for software interchange.
-
- b) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by a
- written offer, valid for at least three years and valid for as
- long as you offer spare parts or customer support for that product
- model, to give anyone who possesses the object code either (1) a
- copy of the Corresponding Source for all the software in the
- product that is covered by this License, on a durable physical
- medium customarily used for software interchange, for a price no
- more than your reasonable cost of physically performing this
- conveying of source, or (2) access to copy the
- Corresponding Source from a network server at no charge.
-
- c) Convey individual copies of the object code with a copy of the
- written offer to provide the Corresponding Source. This
- alternative is allowed only occasionally and noncommercially, and
- only if you received the object code with such an offer, in accord
- with subsection 6b.
-
- d) Convey the object code by offering access from a designated
- place (gratis or for a charge), and offer equivalent access to the
- Corresponding Source in the same way through the same place at no
- further charge. You need not require recipients to copy the
- Corresponding Source along with the object code. If the place to
- copy the object code is a network server, the Corresponding Source
- may be on a different server (operated by you or a third party)
- that supports equivalent copying facilities, provided you maintain
- clear directions next to the object code saying where to find the
- Corresponding Source. Regardless of what server hosts the
- Corresponding Source, you remain obligated to ensure that it is
- available for as long as needed to satisfy these requirements.
-
- e) Convey the object code using peer-to-peer transmission, provided
- you inform other peers where the object code and Corresponding
- Source of the work are being offered to the general public at no
- charge under subsection 6d.
-
- A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
- A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling. In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage. For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product. A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
- "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source. The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
- If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information. But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
- The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed. Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
- Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
- 7. Additional Terms.
-
- "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law. If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
- When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it. (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.) You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
- Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
- a) Disclaiming warranty or limiting liability differently from the
- terms of sections 15 and 16 of this License; or
-
- b) Requiring preservation of specified reasonable legal notices or
- author attributions in that material or in the Appropriate Legal
- Notices displayed by works containing it; or
-
- c) Prohibiting misrepresentation of the origin of that material, or
- requiring that modified versions of such material be marked in
- reasonable ways as different from the original version; or
-
- d) Limiting the use for publicity purposes of names of licensors or
- authors of the material; or
-
- e) Declining to grant rights under trademark law for use of some
- trade names, trademarks, or service marks; or
-
- f) Requiring indemnification of licensors and authors of that
- material by anyone who conveys the material (or modified versions of
- it) with contractual assumptions of liability to the recipient, for
- any liability that these contractual assumptions directly impose on
- those licensors and authors.
-
- All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10. If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term. If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
- If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
- Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
- 8. Termination.
-
- You may not propagate or modify a covered work except as expressly
-provided under this License. Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
- However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
- Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
- Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License. If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
- 9. Acceptance Not Required for Having Copies.
-
- You are not required to accept this License in order to receive or
-run a copy of the Program. Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance. However,
-nothing other than this License grants you permission to propagate or
-modify any covered work. These actions infringe copyright if you do
-not accept this License. Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
- 10. Automatic Licensing of Downstream Recipients.
-
- Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License. You are not responsible
-for enforcing compliance by third parties with this License.
-
- An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations. If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
- You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License. For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
- 11. Patents.
-
- A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based. The
-work thus licensed is called the contributor's "contributor version".
-
- A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version. For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
- Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
- In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement). To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
- If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients. "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
- If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
- A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License. You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
- Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
- 12. No Surrender of Others' Freedom.
-
- If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all. For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
- 13. Use with the GNU Affero General Public License.
-
- Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work. The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
- 14. Revised Versions of this License.
-
- The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
- Each version is given a distinguishing version number. If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation. If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
- If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
- Later license versions may give you additional or different
-permissions. However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
- 15. Disclaimer of Warranty.
-
- THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. Limitation of Liability.
-
- IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
- 17. Interpretation of Sections 15 and 16.
-
- If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-
- Copyright (C)
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see .
-
-Also add information on how to contact you by electronic and paper mail.
-
- If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
- Copyright (C)
- This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
- You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-.
-
- The GNU General Public License does not permit incorporating your program
-into proprietary programs. If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library. If this is what you want to do, use the GNU Lesser General
-Public License instead of this License. But first, please read
-.
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
diff --git a/common/utils/collection/hashtable/COPYING b/common/utils/collection/hashtable/COPYING
index 818433ecc0..d605b9a3b1 100644
--- a/common/utils/collection/hashtable/COPYING
+++ b/common/utils/collection/hashtable/COPYING
@@ -1,674 +1,28 @@
- GNU GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc.
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
- The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works. By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users. We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors. You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
- To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights. Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received. You must make sure that they, too, receive
-or can get the source code. And you must show them these terms so they
-know their rights.
-
- Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
- For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software. For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
- Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so. This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software. The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable. Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products. If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
- Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary. To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- TERMS AND CONDITIONS
-
- 0. Definitions.
-
- "This License" refers to version 3 of the GNU General Public License.
-
- "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
- "The Program" refers to any copyrightable work licensed under this
-License. Each licensee is addressed as "you". "Licensees" and
-"recipients" may be individuals or organizations.
-
- To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy. The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
- A "covered work" means either the unmodified Program or a work based
-on the Program.
-
- To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy. Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
- To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies. Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
- An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License. If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
- 1. Source Code.
-
- The "source code" for a work means the preferred form of the work
-for making modifications to it. "Object code" means any non-source
-form of a work.
-
- A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
- The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form. A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
- The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities. However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work. For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
- The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
- The Corresponding Source for a work in source code form is that
-same work.
-
- 2. Basic Permissions.
-
- All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met. This License explicitly affirms your unlimited
-permission to run the unmodified Program. The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work. This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
- You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force. You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright. Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
- Conveying under any other circumstances is permitted solely under
-the conditions stated below. Sublicensing is not allowed; section 10
-makes it unnecessary.
-
- 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
- No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
- When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
- 4. Conveying Verbatim Copies.
-
- You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
- You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
- 5. Conveying Modified Source Versions.
-
- You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
- a) The work must carry prominent notices stating that you modified
- it, and giving a relevant date.
-
- b) The work must carry prominent notices stating that it is
- released under this License and any conditions added under section
- 7. This requirement modifies the requirement in section 4 to
- "keep intact all notices".
-
- c) You must license the entire work, as a whole, under this
- License to anyone who comes into possession of a copy. This
- License will therefore apply, along with any applicable section 7
- additional terms, to the whole of the work, and all its parts,
- regardless of how they are packaged. This License gives no
- permission to license the work in any other way, but it does not
- invalidate such permission if you have separately received it.
-
- d) If the work has interactive user interfaces, each must display
- Appropriate Legal Notices; however, if the Program has interactive
- interfaces that do not display Appropriate Legal Notices, your
- work need not make them do so.
-
- A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit. Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
- 6. Conveying Non-Source Forms.
-
- You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
- a) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by the
- Corresponding Source fixed on a durable physical medium
- customarily used for software interchange.
-
- b) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by a
- written offer, valid for at least three years and valid for as
- long as you offer spare parts or customer support for that product
- model, to give anyone who possesses the object code either (1) a
- copy of the Corresponding Source for all the software in the
- product that is covered by this License, on a durable physical
- medium customarily used for software interchange, for a price no
- more than your reasonable cost of physically performing this
- conveying of source, or (2) access to copy the
- Corresponding Source from a network server at no charge.
-
- c) Convey individual copies of the object code with a copy of the
- written offer to provide the Corresponding Source. This
- alternative is allowed only occasionally and noncommercially, and
- only if you received the object code with such an offer, in accord
- with subsection 6b.
-
- d) Convey the object code by offering access from a designated
- place (gratis or for a charge), and offer equivalent access to the
- Corresponding Source in the same way through the same place at no
- further charge. You need not require recipients to copy the
- Corresponding Source along with the object code. If the place to
- copy the object code is a network server, the Corresponding Source
- may be on a different server (operated by you or a third party)
- that supports equivalent copying facilities, provided you maintain
- clear directions next to the object code saying where to find the
- Corresponding Source. Regardless of what server hosts the
- Corresponding Source, you remain obligated to ensure that it is
- available for as long as needed to satisfy these requirements.
-
- e) Convey the object code using peer-to-peer transmission, provided
- you inform other peers where the object code and Corresponding
- Source of the work are being offered to the general public at no
- charge under subsection 6d.
-
- A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
- A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling. In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage. For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product. A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
- "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source. The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
- If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information. But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
- The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed. Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
- Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
- 7. Additional Terms.
-
- "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law. If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
- When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it. (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.) You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
- Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
- a) Disclaiming warranty or limiting liability differently from the
- terms of sections 15 and 16 of this License; or
-
- b) Requiring preservation of specified reasonable legal notices or
- author attributions in that material or in the Appropriate Legal
- Notices displayed by works containing it; or
-
- c) Prohibiting misrepresentation of the origin of that material, or
- requiring that modified versions of such material be marked in
- reasonable ways as different from the original version; or
-
- d) Limiting the use for publicity purposes of names of licensors or
- authors of the material; or
-
- e) Declining to grant rights under trademark law for use of some
- trade names, trademarks, or service marks; or
-
- f) Requiring indemnification of licensors and authors of that
- material by anyone who conveys the material (or modified versions of
- it) with contractual assumptions of liability to the recipient, for
- any liability that these contractual assumptions directly impose on
- those licensors and authors.
-
- All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10. If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term. If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
- If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
- Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
- 8. Termination.
-
- You may not propagate or modify a covered work except as expressly
-provided under this License. Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
- However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
- Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
- Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License. If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
- 9. Acceptance Not Required for Having Copies.
-
- You are not required to accept this License in order to receive or
-run a copy of the Program. Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance. However,
-nothing other than this License grants you permission to propagate or
-modify any covered work. These actions infringe copyright if you do
-not accept this License. Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
- 10. Automatic Licensing of Downstream Recipients.
-
- Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License. You are not responsible
-for enforcing compliance by third parties with this License.
-
- An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations. If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
- You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License. For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
- 11. Patents.
-
- A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based. The
-work thus licensed is called the contributor's "contributor version".
-
- A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version. For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
- Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
- In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement). To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
- If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients. "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
- If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
- A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License. You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
- Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
- 12. No Surrender of Others' Freedom.
-
- If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all. For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
- 13. Use with the GNU Affero General Public License.
-
- Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work. The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
- 14. Revised Versions of this License.
-
- The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
- Each version is given a distinguishing version number. If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation. If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
- If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
- Later license versions may give you additional or different
-permissions. However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
- 15. Disclaimer of Warranty.
-
- THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. Limitation of Liability.
-
- IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
- 17. Interpretation of Sections 15 and 16.
-
- If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-
- Copyright (C)
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see .
-
-Also add information on how to contact you by electronic and paper mail.
-
- If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
- Copyright (C)
- This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
- You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-.
-
- The GNU General Public License does not permit incorporating your program
-into proprietary programs. If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library. If this is what you want to do, use the GNU Lesser General
-Public License instead of this License. But first, please read
-.
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
diff --git a/common/utils/collection/hashtable/hashtable.c b/common/utils/collection/hashtable/hashtable.c
index ba2686c718..d424e2a0ad 100755
--- a/common/utils/collection/hashtable/hashtable.c
+++ b/common/utils/collection/hashtable/hashtable.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
-
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
#include
#include
diff --git a/common/utils/collection/hashtable/hashtable.h b/common/utils/collection/hashtable/hashtable.h
index 2082e4f85f..5c06937bed 100755
--- a/common/utils/collection/hashtable/hashtable.h
+++ b/common/utils/collection/hashtable/hashtable.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
-
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
#ifndef _UTILS_COLLECTION_HASH_TABLE_H_
diff --git a/common/utils/collection/hashtable/obj_hashtable.c b/common/utils/collection/hashtable/obj_hashtable.c
index b1d804335f..63fd8a688b 100755
--- a/common/utils/collection/hashtable/obj_hashtable.c
+++ b/common/utils/collection/hashtable/obj_hashtable.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
-
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
#include
#include
diff --git a/common/utils/collection/hashtable/obj_hashtable.h b/common/utils/collection/hashtable/obj_hashtable.h
index bf7ea89b96..8743a13f08 100755
--- a/common/utils/collection/hashtable/obj_hashtable.h
+++ b/common/utils/collection/hashtable/obj_hashtable.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
-
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
#ifndef _UTILS_COLLECTION_OBJ_HASH_TABLE_H_
#define _UTILS_COLLECTION_OBJ_HASH_TABLE_H_
diff --git a/common/utils/itti/COPYING b/common/utils/itti/COPYING
index 818433ecc0..c888423064 100644
--- a/common/utils/itti/COPYING
+++ b/common/utils/itti/COPYING
@@ -1,674 +1,28 @@
- GNU GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc.
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
- The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works. By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users. We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors. You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
- To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights. Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received. You must make sure that they, too, receive
-or can get the source code. And you must show them these terms so they
-know their rights.
-
- Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
- For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software. For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
- Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so. This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software. The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable. Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products. If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
- Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary. To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- TERMS AND CONDITIONS
-
- 0. Definitions.
-
- "This License" refers to version 3 of the GNU General Public License.
-
- "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
- "The Program" refers to any copyrightable work licensed under this
-License. Each licensee is addressed as "you". "Licensees" and
-"recipients" may be individuals or organizations.
-
- To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy. The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
- A "covered work" means either the unmodified Program or a work based
-on the Program.
-
- To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy. Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
- To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies. Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
- An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License. If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
- 1. Source Code.
-
- The "source code" for a work means the preferred form of the work
-for making modifications to it. "Object code" means any non-source
-form of a work.
-
- A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
- The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form. A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
- The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities. However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work. For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
- The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
- The Corresponding Source for a work in source code form is that
-same work.
-
- 2. Basic Permissions.
-
- All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met. This License explicitly affirms your unlimited
-permission to run the unmodified Program. The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work. This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
- You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force. You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright. Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
- Conveying under any other circumstances is permitted solely under
-the conditions stated below. Sublicensing is not allowed; section 10
-makes it unnecessary.
-
- 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
- No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
- When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
- 4. Conveying Verbatim Copies.
-
- You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
- You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
- 5. Conveying Modified Source Versions.
-
- You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
- a) The work must carry prominent notices stating that you modified
- it, and giving a relevant date.
-
- b) The work must carry prominent notices stating that it is
- released under this License and any conditions added under section
- 7. This requirement modifies the requirement in section 4 to
- "keep intact all notices".
-
- c) You must license the entire work, as a whole, under this
- License to anyone who comes into possession of a copy. This
- License will therefore apply, along with any applicable section 7
- additional terms, to the whole of the work, and all its parts,
- regardless of how they are packaged. This License gives no
- permission to license the work in any other way, but it does not
- invalidate such permission if you have separately received it.
-
- d) If the work has interactive user interfaces, each must display
- Appropriate Legal Notices; however, if the Program has interactive
- interfaces that do not display Appropriate Legal Notices, your
- work need not make them do so.
-
- A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit. Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
- 6. Conveying Non-Source Forms.
-
- You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
- a) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by the
- Corresponding Source fixed on a durable physical medium
- customarily used for software interchange.
-
- b) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by a
- written offer, valid for at least three years and valid for as
- long as you offer spare parts or customer support for that product
- model, to give anyone who possesses the object code either (1) a
- copy of the Corresponding Source for all the software in the
- product that is covered by this License, on a durable physical
- medium customarily used for software interchange, for a price no
- more than your reasonable cost of physically performing this
- conveying of source, or (2) access to copy the
- Corresponding Source from a network server at no charge.
-
- c) Convey individual copies of the object code with a copy of the
- written offer to provide the Corresponding Source. This
- alternative is allowed only occasionally and noncommercially, and
- only if you received the object code with such an offer, in accord
- with subsection 6b.
-
- d) Convey the object code by offering access from a designated
- place (gratis or for a charge), and offer equivalent access to the
- Corresponding Source in the same way through the same place at no
- further charge. You need not require recipients to copy the
- Corresponding Source along with the object code. If the place to
- copy the object code is a network server, the Corresponding Source
- may be on a different server (operated by you or a third party)
- that supports equivalent copying facilities, provided you maintain
- clear directions next to the object code saying where to find the
- Corresponding Source. Regardless of what server hosts the
- Corresponding Source, you remain obligated to ensure that it is
- available for as long as needed to satisfy these requirements.
-
- e) Convey the object code using peer-to-peer transmission, provided
- you inform other peers where the object code and Corresponding
- Source of the work are being offered to the general public at no
- charge under subsection 6d.
-
- A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
- A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling. In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage. For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product. A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
- "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source. The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
- If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information. But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
- The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed. Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
- Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
- 7. Additional Terms.
-
- "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law. If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
- When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it. (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.) You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
- Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
- a) Disclaiming warranty or limiting liability differently from the
- terms of sections 15 and 16 of this License; or
-
- b) Requiring preservation of specified reasonable legal notices or
- author attributions in that material or in the Appropriate Legal
- Notices displayed by works containing it; or
-
- c) Prohibiting misrepresentation of the origin of that material, or
- requiring that modified versions of such material be marked in
- reasonable ways as different from the original version; or
-
- d) Limiting the use for publicity purposes of names of licensors or
- authors of the material; or
-
- e) Declining to grant rights under trademark law for use of some
- trade names, trademarks, or service marks; or
-
- f) Requiring indemnification of licensors and authors of that
- material by anyone who conveys the material (or modified versions of
- it) with contractual assumptions of liability to the recipient, for
- any liability that these contractual assumptions directly impose on
- those licensors and authors.
-
- All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10. If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term. If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
- If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
- Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
- 8. Termination.
-
- You may not propagate or modify a covered work except as expressly
-provided under this License. Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
- However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
- Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
- Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License. If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
- 9. Acceptance Not Required for Having Copies.
-
- You are not required to accept this License in order to receive or
-run a copy of the Program. Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance. However,
-nothing other than this License grants you permission to propagate or
-modify any covered work. These actions infringe copyright if you do
-not accept this License. Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
- 10. Automatic Licensing of Downstream Recipients.
-
- Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License. You are not responsible
-for enforcing compliance by third parties with this License.
-
- An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations. If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
- You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License. For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
- 11. Patents.
-
- A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based. The
-work thus licensed is called the contributor's "contributor version".
-
- A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version. For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
- Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
- In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement). To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
- If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients. "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
- If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
- A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License. You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
- Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
- 12. No Surrender of Others' Freedom.
-
- If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all. For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
- 13. Use with the GNU Affero General Public License.
-
- Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work. The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
- 14. Revised Versions of this License.
-
- The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
- Each version is given a distinguishing version number. If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation. If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
- If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
- Later license versions may give you additional or different
-permissions. However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
- 15. Disclaimer of Warranty.
-
- THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. Limitation of Liability.
-
- IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
- 17. Interpretation of Sections 15 and 16.
-
- If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-
- Copyright (C)
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see .
-
-Also add information on how to contact you by electronic and paper mail.
-
- If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
- Copyright (C)
- This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
- You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-.
-
- The GNU General Public License does not permit incorporating your program
-into proprietary programs. If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library. If this is what you want to do, use the GNU Lesser General
-Public License instead of this License. But first, please read
-.
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
\ No newline at end of file
diff --git a/common/utils/itti/assertions.h b/common/utils/itti/assertions.h
index df14404c79..c047ef6b76 100644
--- a/common/utils/itti/assertions.h
+++ b/common/utils/itti/assertions.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
-
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
#include
#include
diff --git a/common/utils/itti/backtrace.c b/common/utils/itti/backtrace.c
index f83d018d6e..3d984cbf11 100644
--- a/common/utils/itti/backtrace.c
+++ b/common/utils/itti/backtrace.c
@@ -1,32 +1,31 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
-
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
-
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
#include
#include
#include
diff --git a/common/utils/itti/backtrace.h b/common/utils/itti/backtrace.h
index c2622a6b07..1ba8143860 100644
--- a/common/utils/itti/backtrace.h
+++ b/common/utils/itti/backtrace.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
-
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
#include
diff --git a/common/utils/itti/intertask_interface.c b/common/utils/itti/intertask_interface.c
index c61dd07636..572c207b3f 100644
--- a/common/utils/itti/intertask_interface.c
+++ b/common/utils/itti/intertask_interface.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
-
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
#define _GNU_SOURCE
#include
diff --git a/common/utils/itti/intertask_interface.h b/common/utils/itti/intertask_interface.h
index 350c88af6a..46fb0c749f 100644
--- a/common/utils/itti/intertask_interface.h
+++ b/common/utils/itti/intertask_interface.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
-
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
/** @defgroup _intertask_interface_impl_ Intertask Interface Mechanisms
* Implementation
diff --git a/common/utils/itti/intertask_interface_dump.c b/common/utils/itti/intertask_interface_dump.c
index e17cdab85a..491bff59b0 100644
--- a/common/utils/itti/intertask_interface_dump.c
+++ b/common/utils/itti/intertask_interface_dump.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
-
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
/** @brief Intertask Interface Signal Dumper
diff --git a/common/utils/itti/intertask_interface_dump.h b/common/utils/itti/intertask_interface_dump.h
index 8d06a8ed1f..acaf450cf4 100644
--- a/common/utils/itti/intertask_interface_dump.h
+++ b/common/utils/itti/intertask_interface_dump.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
-
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
#ifndef INTERTASK_INTERFACE_DUMP_H_
#define INTERTASK_INTERFACE_DUMP_H_
diff --git a/common/utils/itti/intertask_interface_init.h b/common/utils/itti/intertask_interface_init.h
index 1135f17738..a01f1eea90 100644
--- a/common/utils/itti/intertask_interface_init.h
+++ b/common/utils/itti/intertask_interface_init.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
-
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
/** @defgroup _intertask_interface_impl_ Intertask Interface Mechanisms
* Implementation
diff --git a/common/utils/itti/intertask_interface_types.h b/common/utils/itti/intertask_interface_types.h
index 3e0203df6d..bf29e12008 100644
--- a/common/utils/itti/intertask_interface_types.h
+++ b/common/utils/itti/intertask_interface_types.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
-
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
/** @defgroup _intertask_interface_impl_ Intertask Interface Mechanisms
* Implementation
diff --git a/common/utils/itti/intertask_messages_def.h b/common/utils/itti/intertask_messages_def.h
index baac5cd6d0..4f125f4649 100644
--- a/common/utils/itti/intertask_messages_def.h
+++ b/common/utils/itti/intertask_messages_def.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
-
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
/* This message asks for task initialization */
MESSAGE_DEF(INITIALIZE_MESSAGE, MESSAGE_PRIORITY_MED, IttiMsgEmpty, initialize_message)
diff --git a/common/utils/itti/intertask_messages_types.h b/common/utils/itti/intertask_messages_types.h
index c047d7dae8..e64a709636 100644
--- a/common/utils/itti/intertask_messages_types.h
+++ b/common/utils/itti/intertask_messages_types.h
@@ -1,32 +1,31 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
-
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
-
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
/*
* intertask_messages_types.h
diff --git a/common/utils/itti/itti_types.h b/common/utils/itti/itti_types.h
index ec1b290bfd..f1a17d1228 100644
--- a/common/utils/itti/itti_types.h
+++ b/common/utils/itti/itti_types.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
-
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
/** @brief Intertask Interface common types
* Contains type definitions used for generating and parsing ITTI messages.
diff --git a/common/utils/itti/memory_pools.c b/common/utils/itti/memory_pools.c
index 568c03defe..dadc80ca2a 100644
--- a/common/utils/itti/memory_pools.c
+++ b/common/utils/itti/memory_pools.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
-
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
#ifdef RTAI
# include
diff --git a/common/utils/itti/memory_pools.h b/common/utils/itti/memory_pools.h
index a84499c2fc..72268f90d7 100644
--- a/common/utils/itti/memory_pools.h
+++ b/common/utils/itti/memory_pools.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
-
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
#ifndef MEMORY_POOLS_H_
#define MEMORY_POOLS_H_
diff --git a/common/utils/itti/messages_def.h b/common/utils/itti/messages_def.h
index ea2a321ef8..7df3789fd7 100644
--- a/common/utils/itti/messages_def.h
+++ b/common/utils/itti/messages_def.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
-
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
// These messages files are mandatory and must always be placed in first position
#include "intertask_messages_def.h"
diff --git a/common/utils/itti/messages_types.h b/common/utils/itti/messages_types.h
index 2594d7b534..3426aada3e 100644
--- a/common/utils/itti/messages_types.h
+++ b/common/utils/itti/messages_types.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
-
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
/*
* messages_types.h
diff --git a/common/utils/itti/signals.c b/common/utils/itti/signals.c
index e1950b4665..b9a3316cec 100644
--- a/common/utils/itti/signals.c
+++ b/common/utils/itti/signals.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
-
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
#if HAVE_CONFIG_H
# include "config.h"
diff --git a/common/utils/itti/signals.h b/common/utils/itti/signals.h
index 65bc59b046..53a73afa6f 100644
--- a/common/utils/itti/signals.h
+++ b/common/utils/itti/signals.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
-
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
#ifndef SIGNALS_H_
#define SIGNALS_H_
diff --git a/common/utils/itti/tasks_def.h b/common/utils/itti/tasks_def.h
index 6d6ab48332..5f2a413235 100644
--- a/common/utils/itti/tasks_def.h
+++ b/common/utils/itti/tasks_def.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
-
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
// This task is mandatory and must always be placed in first position
TASK_DEF(TASK_TIMER, TASK_PRIORITY_MED, 10)
diff --git a/common/utils/itti/timer.c b/common/utils/itti/timer.c
index 25f70f04d7..40e8791022 100644
--- a/common/utils/itti/timer.c
+++ b/common/utils/itti/timer.c
@@ -1,31 +1,31 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
-
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
#include
#include
diff --git a/common/utils/itti/timer.h b/common/utils/itti/timer.h
index 9f2ec30f7d..825b3ca2eb 100644
--- a/common/utils/itti/timer.h
+++ b/common/utils/itti/timer.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
-
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
#ifndef TIMER_H_
#define TIMER_H_
diff --git a/common/utils/itti/timer_messages_def.h b/common/utils/itti/timer_messages_def.h
index 077147fe50..56af4e8a8e 100644
--- a/common/utils/itti/timer_messages_def.h
+++ b/common/utils/itti/timer_messages_def.h
@@ -1,31 +1,30 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
-
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
-
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
MESSAGE_DEF(TIMER_HAS_EXPIRED, MESSAGE_PRIORITY_MED_PLUS, timer_has_expired_t, timer_has_expired)
diff --git a/common/utils/itti/timer_messages_types.h b/common/utils/itti/timer_messages_types.h
index c54f4d165e..8126b75aef 100644
--- a/common/utils/itti/timer_messages_types.h
+++ b/common/utils/itti/timer_messages_types.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
-
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
#ifndef TIMER_MESSAGES_TYPES_H_
#define TIMER_MESSAGES_TYPES_H_
diff --git a/common/utils/itti_analyzer/COPYING b/common/utils/itti_analyzer/COPYING
index 818433ecc0..c888423064 100644
--- a/common/utils/itti_analyzer/COPYING
+++ b/common/utils/itti_analyzer/COPYING
@@ -1,674 +1,28 @@
- GNU GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc.
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
- The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works. By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users. We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors. You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
- To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights. Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received. You must make sure that they, too, receive
-or can get the source code. And you must show them these terms so they
-know their rights.
-
- Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
- For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software. For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
- Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so. This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software. The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable. Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products. If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
- Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary. To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- TERMS AND CONDITIONS
-
- 0. Definitions.
-
- "This License" refers to version 3 of the GNU General Public License.
-
- "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
- "The Program" refers to any copyrightable work licensed under this
-License. Each licensee is addressed as "you". "Licensees" and
-"recipients" may be individuals or organizations.
-
- To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy. The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
- A "covered work" means either the unmodified Program or a work based
-on the Program.
-
- To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy. Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
- To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies. Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
- An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License. If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
- 1. Source Code.
-
- The "source code" for a work means the preferred form of the work
-for making modifications to it. "Object code" means any non-source
-form of a work.
-
- A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
- The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form. A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
- The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities. However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work. For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
- The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
- The Corresponding Source for a work in source code form is that
-same work.
-
- 2. Basic Permissions.
-
- All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met. This License explicitly affirms your unlimited
-permission to run the unmodified Program. The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work. This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
- You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force. You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright. Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
- Conveying under any other circumstances is permitted solely under
-the conditions stated below. Sublicensing is not allowed; section 10
-makes it unnecessary.
-
- 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
- No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
- When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
- 4. Conveying Verbatim Copies.
-
- You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
- You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
- 5. Conveying Modified Source Versions.
-
- You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
- a) The work must carry prominent notices stating that you modified
- it, and giving a relevant date.
-
- b) The work must carry prominent notices stating that it is
- released under this License and any conditions added under section
- 7. This requirement modifies the requirement in section 4 to
- "keep intact all notices".
-
- c) You must license the entire work, as a whole, under this
- License to anyone who comes into possession of a copy. This
- License will therefore apply, along with any applicable section 7
- additional terms, to the whole of the work, and all its parts,
- regardless of how they are packaged. This License gives no
- permission to license the work in any other way, but it does not
- invalidate such permission if you have separately received it.
-
- d) If the work has interactive user interfaces, each must display
- Appropriate Legal Notices; however, if the Program has interactive
- interfaces that do not display Appropriate Legal Notices, your
- work need not make them do so.
-
- A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit. Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
- 6. Conveying Non-Source Forms.
-
- You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
- a) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by the
- Corresponding Source fixed on a durable physical medium
- customarily used for software interchange.
-
- b) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by a
- written offer, valid for at least three years and valid for as
- long as you offer spare parts or customer support for that product
- model, to give anyone who possesses the object code either (1) a
- copy of the Corresponding Source for all the software in the
- product that is covered by this License, on a durable physical
- medium customarily used for software interchange, for a price no
- more than your reasonable cost of physically performing this
- conveying of source, or (2) access to copy the
- Corresponding Source from a network server at no charge.
-
- c) Convey individual copies of the object code with a copy of the
- written offer to provide the Corresponding Source. This
- alternative is allowed only occasionally and noncommercially, and
- only if you received the object code with such an offer, in accord
- with subsection 6b.
-
- d) Convey the object code by offering access from a designated
- place (gratis or for a charge), and offer equivalent access to the
- Corresponding Source in the same way through the same place at no
- further charge. You need not require recipients to copy the
- Corresponding Source along with the object code. If the place to
- copy the object code is a network server, the Corresponding Source
- may be on a different server (operated by you or a third party)
- that supports equivalent copying facilities, provided you maintain
- clear directions next to the object code saying where to find the
- Corresponding Source. Regardless of what server hosts the
- Corresponding Source, you remain obligated to ensure that it is
- available for as long as needed to satisfy these requirements.
-
- e) Convey the object code using peer-to-peer transmission, provided
- you inform other peers where the object code and Corresponding
- Source of the work are being offered to the general public at no
- charge under subsection 6d.
-
- A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
- A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling. In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage. For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product. A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
- "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source. The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
- If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information. But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
- The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed. Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
- Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
- 7. Additional Terms.
-
- "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law. If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
- When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it. (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.) You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
- Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
- a) Disclaiming warranty or limiting liability differently from the
- terms of sections 15 and 16 of this License; or
-
- b) Requiring preservation of specified reasonable legal notices or
- author attributions in that material or in the Appropriate Legal
- Notices displayed by works containing it; or
-
- c) Prohibiting misrepresentation of the origin of that material, or
- requiring that modified versions of such material be marked in
- reasonable ways as different from the original version; or
-
- d) Limiting the use for publicity purposes of names of licensors or
- authors of the material; or
-
- e) Declining to grant rights under trademark law for use of some
- trade names, trademarks, or service marks; or
-
- f) Requiring indemnification of licensors and authors of that
- material by anyone who conveys the material (or modified versions of
- it) with contractual assumptions of liability to the recipient, for
- any liability that these contractual assumptions directly impose on
- those licensors and authors.
-
- All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10. If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term. If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
- If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
- Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
- 8. Termination.
-
- You may not propagate or modify a covered work except as expressly
-provided under this License. Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
- However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
- Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
- Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License. If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
- 9. Acceptance Not Required for Having Copies.
-
- You are not required to accept this License in order to receive or
-run a copy of the Program. Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance. However,
-nothing other than this License grants you permission to propagate or
-modify any covered work. These actions infringe copyright if you do
-not accept this License. Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
- 10. Automatic Licensing of Downstream Recipients.
-
- Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License. You are not responsible
-for enforcing compliance by third parties with this License.
-
- An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations. If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
- You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License. For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
- 11. Patents.
-
- A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based. The
-work thus licensed is called the contributor's "contributor version".
-
- A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version. For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
- Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
- In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement). To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
- If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients. "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
- If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
- A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License. You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
- Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
- 12. No Surrender of Others' Freedom.
-
- If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all. For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
- 13. Use with the GNU Affero General Public License.
-
- Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work. The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
- 14. Revised Versions of this License.
-
- The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
- Each version is given a distinguishing version number. If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation. If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
- If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
- Later license versions may give you additional or different
-permissions. However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
- 15. Disclaimer of Warranty.
-
- THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. Limitation of Liability.
-
- IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
- 17. Interpretation of Sections 15 and 16.
-
- If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-
- Copyright (C)
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see .
-
-Also add information on how to contact you by electronic and paper mail.
-
- If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
- Copyright (C)
- This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
- You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-.
-
- The GNU General Public License does not permit incorporating your program
-into proprietary programs. If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library. If this is what you want to do, use the GNU Lesser General
-Public License instead of this License. But first, please read
-.
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
\ No newline at end of file
diff --git a/common/utils/itti_analyzer/README b/common/utils/itti_analyzer/README
index 31dc085b23..8ca077a227 100644
--- a/common/utils/itti_analyzer/README
+++ b/common/utils/itti_analyzer/README
@@ -11,4 +11,4 @@ To run itti_analyzer, please perform the following actions:
5) make
-6) ./itt
\ No newline at end of file
+6) ./itti_analyzer
\ No newline at end of file
diff --git a/common/utils/itti_analyzer/common/COPYING b/common/utils/itti_analyzer/common/COPYING
index 818433ecc0..d605b9a3b1 100644
--- a/common/utils/itti_analyzer/common/COPYING
+++ b/common/utils/itti_analyzer/common/COPYING
@@ -1,674 +1,28 @@
- GNU GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc.
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
- The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works. By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users. We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors. You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
- To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights. Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received. You must make sure that they, too, receive
-or can get the source code. And you must show them these terms so they
-know their rights.
-
- Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
- For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software. For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
- Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so. This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software. The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable. Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products. If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
- Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary. To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- TERMS AND CONDITIONS
-
- 0. Definitions.
-
- "This License" refers to version 3 of the GNU General Public License.
-
- "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
- "The Program" refers to any copyrightable work licensed under this
-License. Each licensee is addressed as "you". "Licensees" and
-"recipients" may be individuals or organizations.
-
- To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy. The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
- A "covered work" means either the unmodified Program or a work based
-on the Program.
-
- To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy. Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
- To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies. Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
- An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License. If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
- 1. Source Code.
-
- The "source code" for a work means the preferred form of the work
-for making modifications to it. "Object code" means any non-source
-form of a work.
-
- A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
- The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form. A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
- The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities. However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work. For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
- The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
- The Corresponding Source for a work in source code form is that
-same work.
-
- 2. Basic Permissions.
-
- All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met. This License explicitly affirms your unlimited
-permission to run the unmodified Program. The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work. This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
- You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force. You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright. Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
- Conveying under any other circumstances is permitted solely under
-the conditions stated below. Sublicensing is not allowed; section 10
-makes it unnecessary.
-
- 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
- No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
- When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
- 4. Conveying Verbatim Copies.
-
- You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
- You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
- 5. Conveying Modified Source Versions.
-
- You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
- a) The work must carry prominent notices stating that you modified
- it, and giving a relevant date.
-
- b) The work must carry prominent notices stating that it is
- released under this License and any conditions added under section
- 7. This requirement modifies the requirement in section 4 to
- "keep intact all notices".
-
- c) You must license the entire work, as a whole, under this
- License to anyone who comes into possession of a copy. This
- License will therefore apply, along with any applicable section 7
- additional terms, to the whole of the work, and all its parts,
- regardless of how they are packaged. This License gives no
- permission to license the work in any other way, but it does not
- invalidate such permission if you have separately received it.
-
- d) If the work has interactive user interfaces, each must display
- Appropriate Legal Notices; however, if the Program has interactive
- interfaces that do not display Appropriate Legal Notices, your
- work need not make them do so.
-
- A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit. Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
- 6. Conveying Non-Source Forms.
-
- You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
- a) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by the
- Corresponding Source fixed on a durable physical medium
- customarily used for software interchange.
-
- b) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by a
- written offer, valid for at least three years and valid for as
- long as you offer spare parts or customer support for that product
- model, to give anyone who possesses the object code either (1) a
- copy of the Corresponding Source for all the software in the
- product that is covered by this License, on a durable physical
- medium customarily used for software interchange, for a price no
- more than your reasonable cost of physically performing this
- conveying of source, or (2) access to copy the
- Corresponding Source from a network server at no charge.
-
- c) Convey individual copies of the object code with a copy of the
- written offer to provide the Corresponding Source. This
- alternative is allowed only occasionally and noncommercially, and
- only if you received the object code with such an offer, in accord
- with subsection 6b.
-
- d) Convey the object code by offering access from a designated
- place (gratis or for a charge), and offer equivalent access to the
- Corresponding Source in the same way through the same place at no
- further charge. You need not require recipients to copy the
- Corresponding Source along with the object code. If the place to
- copy the object code is a network server, the Corresponding Source
- may be on a different server (operated by you or a third party)
- that supports equivalent copying facilities, provided you maintain
- clear directions next to the object code saying where to find the
- Corresponding Source. Regardless of what server hosts the
- Corresponding Source, you remain obligated to ensure that it is
- available for as long as needed to satisfy these requirements.
-
- e) Convey the object code using peer-to-peer transmission, provided
- you inform other peers where the object code and Corresponding
- Source of the work are being offered to the general public at no
- charge under subsection 6d.
-
- A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
- A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling. In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage. For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product. A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
- "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source. The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
- If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information. But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
- The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed. Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
- Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
- 7. Additional Terms.
-
- "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law. If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
- When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it. (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.) You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
- Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
- a) Disclaiming warranty or limiting liability differently from the
- terms of sections 15 and 16 of this License; or
-
- b) Requiring preservation of specified reasonable legal notices or
- author attributions in that material or in the Appropriate Legal
- Notices displayed by works containing it; or
-
- c) Prohibiting misrepresentation of the origin of that material, or
- requiring that modified versions of such material be marked in
- reasonable ways as different from the original version; or
-
- d) Limiting the use for publicity purposes of names of licensors or
- authors of the material; or
-
- e) Declining to grant rights under trademark law for use of some
- trade names, trademarks, or service marks; or
-
- f) Requiring indemnification of licensors and authors of that
- material by anyone who conveys the material (or modified versions of
- it) with contractual assumptions of liability to the recipient, for
- any liability that these contractual assumptions directly impose on
- those licensors and authors.
-
- All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10. If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term. If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
- If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
- Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
- 8. Termination.
-
- You may not propagate or modify a covered work except as expressly
-provided under this License. Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
- However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
- Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
- Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License. If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
- 9. Acceptance Not Required for Having Copies.
-
- You are not required to accept this License in order to receive or
-run a copy of the Program. Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance. However,
-nothing other than this License grants you permission to propagate or
-modify any covered work. These actions infringe copyright if you do
-not accept this License. Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
- 10. Automatic Licensing of Downstream Recipients.
-
- Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License. You are not responsible
-for enforcing compliance by third parties with this License.
-
- An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations. If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
- You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License. For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
- 11. Patents.
-
- A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based. The
-work thus licensed is called the contributor's "contributor version".
-
- A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version. For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
- Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
- In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement). To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
- If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients. "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
- If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
- A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License. You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
- Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
- 12. No Surrender of Others' Freedom.
-
- If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all. For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
- 13. Use with the GNU Affero General Public License.
-
- Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work. The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
- 14. Revised Versions of this License.
-
- The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
- Each version is given a distinguishing version number. If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation. If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
- If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
- Later license versions may give you additional or different
-permissions. However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
- 15. Disclaimer of Warranty.
-
- THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. Limitation of Liability.
-
- IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
- 17. Interpretation of Sections 15 and 16.
-
- If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-
- Copyright (C)
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see .
-
-Also add information on how to contact you by electronic and paper mail.
-
- If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
- Copyright (C)
- This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
- You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-.
-
- The GNU General Public License does not permit incorporating your program
-into proprietary programs. If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library. If this is what you want to do, use the GNU Lesser General
-Public License instead of this License. But first, please read
-.
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
diff --git a/common/utils/itti_analyzer/common/itti_types.h b/common/utils/itti_analyzer/common/itti_types.h
index ddfd8473a6..3671b1d917 100644
--- a/common/utils/itti_analyzer/common/itti_types.h
+++ b/common/utils/itti_analyzer/common/itti_types.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
-
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
/** @brief Intertask Interface common types
* Contains type definitions used for generating and parsing ITTI messages.
diff --git a/common/utils/itti_analyzer/common/logs.h b/common/utils/itti_analyzer/common/logs.h
index 051e8b16c7..21d2dfad78 100644
--- a/common/utils/itti_analyzer/common/logs.h
+++ b/common/utils/itti_analyzer/common/logs.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
-
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
/*
* logs.h
diff --git a/common/utils/itti_analyzer/common/rc.h b/common/utils/itti_analyzer/common/rc.h
index 7fa6c05589..11eb107632 100644
--- a/common/utils/itti_analyzer/common/rc.h
+++ b/common/utils/itti_analyzer/common/rc.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
#include
#include
diff --git a/common/utils/itti_analyzer/itti_analyzer.c b/common/utils/itti_analyzer/itti_analyzer.c
index 214430b096..78bdb43b39 100644
--- a/common/utils/itti_analyzer/itti_analyzer.c
+++ b/common/utils/itti_analyzer/itti_analyzer.c
@@ -1,31 +1,32 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
#include
#include
diff --git a/common/utils/itti_analyzer/libbuffers/COPYING b/common/utils/itti_analyzer/libbuffers/COPYING
index 818433ecc0..d605b9a3b1 100644
--- a/common/utils/itti_analyzer/libbuffers/COPYING
+++ b/common/utils/itti_analyzer/libbuffers/COPYING
@@ -1,674 +1,28 @@
- GNU GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc.
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
- The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works. By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users. We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors. You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
- To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights. Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received. You must make sure that they, too, receive
-or can get the source code. And you must show them these terms so they
-know their rights.
-
- Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
- For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software. For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
- Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so. This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software. The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable. Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products. If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
- Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary. To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- TERMS AND CONDITIONS
-
- 0. Definitions.
-
- "This License" refers to version 3 of the GNU General Public License.
-
- "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
- "The Program" refers to any copyrightable work licensed under this
-License. Each licensee is addressed as "you". "Licensees" and
-"recipients" may be individuals or organizations.
-
- To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy. The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
- A "covered work" means either the unmodified Program or a work based
-on the Program.
-
- To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy. Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
- To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies. Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
- An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License. If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
- 1. Source Code.
-
- The "source code" for a work means the preferred form of the work
-for making modifications to it. "Object code" means any non-source
-form of a work.
-
- A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
- The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form. A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
- The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities. However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work. For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
- The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
- The Corresponding Source for a work in source code form is that
-same work.
-
- 2. Basic Permissions.
-
- All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met. This License explicitly affirms your unlimited
-permission to run the unmodified Program. The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work. This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
- You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force. You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright. Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
- Conveying under any other circumstances is permitted solely under
-the conditions stated below. Sublicensing is not allowed; section 10
-makes it unnecessary.
-
- 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
- No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
- When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
- 4. Conveying Verbatim Copies.
-
- You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
- You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
- 5. Conveying Modified Source Versions.
-
- You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
- a) The work must carry prominent notices stating that you modified
- it, and giving a relevant date.
-
- b) The work must carry prominent notices stating that it is
- released under this License and any conditions added under section
- 7. This requirement modifies the requirement in section 4 to
- "keep intact all notices".
-
- c) You must license the entire work, as a whole, under this
- License to anyone who comes into possession of a copy. This
- License will therefore apply, along with any applicable section 7
- additional terms, to the whole of the work, and all its parts,
- regardless of how they are packaged. This License gives no
- permission to license the work in any other way, but it does not
- invalidate such permission if you have separately received it.
-
- d) If the work has interactive user interfaces, each must display
- Appropriate Legal Notices; however, if the Program has interactive
- interfaces that do not display Appropriate Legal Notices, your
- work need not make them do so.
-
- A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit. Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
- 6. Conveying Non-Source Forms.
-
- You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
- a) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by the
- Corresponding Source fixed on a durable physical medium
- customarily used for software interchange.
-
- b) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by a
- written offer, valid for at least three years and valid for as
- long as you offer spare parts or customer support for that product
- model, to give anyone who possesses the object code either (1) a
- copy of the Corresponding Source for all the software in the
- product that is covered by this License, on a durable physical
- medium customarily used for software interchange, for a price no
- more than your reasonable cost of physically performing this
- conveying of source, or (2) access to copy the
- Corresponding Source from a network server at no charge.
-
- c) Convey individual copies of the object code with a copy of the
- written offer to provide the Corresponding Source. This
- alternative is allowed only occasionally and noncommercially, and
- only if you received the object code with such an offer, in accord
- with subsection 6b.
-
- d) Convey the object code by offering access from a designated
- place (gratis or for a charge), and offer equivalent access to the
- Corresponding Source in the same way through the same place at no
- further charge. You need not require recipients to copy the
- Corresponding Source along with the object code. If the place to
- copy the object code is a network server, the Corresponding Source
- may be on a different server (operated by you or a third party)
- that supports equivalent copying facilities, provided you maintain
- clear directions next to the object code saying where to find the
- Corresponding Source. Regardless of what server hosts the
- Corresponding Source, you remain obligated to ensure that it is
- available for as long as needed to satisfy these requirements.
-
- e) Convey the object code using peer-to-peer transmission, provided
- you inform other peers where the object code and Corresponding
- Source of the work are being offered to the general public at no
- charge under subsection 6d.
-
- A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
- A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling. In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage. For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product. A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
- "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source. The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
- If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information. But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
- The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed. Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
- Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
- 7. Additional Terms.
-
- "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law. If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
- When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it. (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.) You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
- Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
- a) Disclaiming warranty or limiting liability differently from the
- terms of sections 15 and 16 of this License; or
-
- b) Requiring preservation of specified reasonable legal notices or
- author attributions in that material or in the Appropriate Legal
- Notices displayed by works containing it; or
-
- c) Prohibiting misrepresentation of the origin of that material, or
- requiring that modified versions of such material be marked in
- reasonable ways as different from the original version; or
-
- d) Limiting the use for publicity purposes of names of licensors or
- authors of the material; or
-
- e) Declining to grant rights under trademark law for use of some
- trade names, trademarks, or service marks; or
-
- f) Requiring indemnification of licensors and authors of that
- material by anyone who conveys the material (or modified versions of
- it) with contractual assumptions of liability to the recipient, for
- any liability that these contractual assumptions directly impose on
- those licensors and authors.
-
- All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10. If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term. If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
- If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
- Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
- 8. Termination.
-
- You may not propagate or modify a covered work except as expressly
-provided under this License. Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
- However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
- Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
- Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License. If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
- 9. Acceptance Not Required for Having Copies.
-
- You are not required to accept this License in order to receive or
-run a copy of the Program. Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance. However,
-nothing other than this License grants you permission to propagate or
-modify any covered work. These actions infringe copyright if you do
-not accept this License. Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
- 10. Automatic Licensing of Downstream Recipients.
-
- Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License. You are not responsible
-for enforcing compliance by third parties with this License.
-
- An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations. If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
- You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License. For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
- 11. Patents.
-
- A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based. The
-work thus licensed is called the contributor's "contributor version".
-
- A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version. For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
- Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
- In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement). To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
- If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients. "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
- If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
- A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License. You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
- Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
- 12. No Surrender of Others' Freedom.
-
- If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all. For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
- 13. Use with the GNU Affero General Public License.
-
- Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work. The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
- 14. Revised Versions of this License.
-
- The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
- Each version is given a distinguishing version number. If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation. If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
- If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
- Later license versions may give you additional or different
-permissions. However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
- 15. Disclaimer of Warranty.
-
- THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. Limitation of Liability.
-
- IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
- 17. Interpretation of Sections 15 and 16.
-
- If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-
- Copyright (C)
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see .
-
-Also add information on how to contact you by electronic and paper mail.
-
- If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
- Copyright (C)
- This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
- You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-.
-
- The GNU General Public License does not permit incorporating your program
-into proprietary programs. If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library. If this is what you want to do, use the GNU Lesser General
-Public License instead of this License. But first, please read
-.
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
diff --git a/common/utils/itti_analyzer/libbuffers/buffers.c b/common/utils/itti_analyzer/libbuffers/buffers.c
index 7927ce646a..e8a1fc0c20 100644
--- a/common/utils/itti_analyzer/libbuffers/buffers.c
+++ b/common/utils/itti_analyzer/libbuffers/buffers.c
@@ -1,31 +1,32 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
#include
#include
diff --git a/common/utils/itti_analyzer/libbuffers/buffers.h b/common/utils/itti_analyzer/libbuffers/buffers.h
index 1346c4aaed..fd57e7b021 100644
--- a/common/utils/itti_analyzer/libbuffers/buffers.h
+++ b/common/utils/itti_analyzer/libbuffers/buffers.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
#include
diff --git a/common/utils/itti_analyzer/libbuffers/file.c b/common/utils/itti_analyzer/libbuffers/file.c
index 0cfe0edd59..b9404c31c0 100644
--- a/common/utils/itti_analyzer/libbuffers/file.c
+++ b/common/utils/itti_analyzer/libbuffers/file.c
@@ -1,31 +1,32 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
#include
#include
diff --git a/common/utils/itti_analyzer/libbuffers/file.h b/common/utils/itti_analyzer/libbuffers/file.h
index 0c1ecf7e07..8d2b90a5cf 100644
--- a/common/utils/itti_analyzer/libbuffers/file.h
+++ b/common/utils/itti_analyzer/libbuffers/file.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
#ifndef FILE_H_
#define FILE_H_
diff --git a/common/utils/itti_analyzer/libbuffers/socket.c b/common/utils/itti_analyzer/libbuffers/socket.c
index 99cd44bd11..e782ee431b 100644
--- a/common/utils/itti_analyzer/libbuffers/socket.c
+++ b/common/utils/itti_analyzer/libbuffers/socket.c
@@ -1,31 +1,32 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
#include
#include
diff --git a/common/utils/itti_analyzer/libbuffers/socket.h b/common/utils/itti_analyzer/libbuffers/socket.h
index 755cf3093c..45881f311b 100644
--- a/common/utils/itti_analyzer/libbuffers/socket.h
+++ b/common/utils/itti_analyzer/libbuffers/socket.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
#include
#include
diff --git a/common/utils/itti_analyzer/libparser/COPYING b/common/utils/itti_analyzer/libparser/COPYING
index 818433ecc0..d605b9a3b1 100644
--- a/common/utils/itti_analyzer/libparser/COPYING
+++ b/common/utils/itti_analyzer/libparser/COPYING
@@ -1,674 +1,28 @@
- GNU GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc.
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
- The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works. By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users. We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors. You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
- To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights. Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received. You must make sure that they, too, receive
-or can get the source code. And you must show them these terms so they
-know their rights.
-
- Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
- For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software. For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
- Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so. This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software. The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable. Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products. If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
- Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary. To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- TERMS AND CONDITIONS
-
- 0. Definitions.
-
- "This License" refers to version 3 of the GNU General Public License.
-
- "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
- "The Program" refers to any copyrightable work licensed under this
-License. Each licensee is addressed as "you". "Licensees" and
-"recipients" may be individuals or organizations.
-
- To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy. The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
- A "covered work" means either the unmodified Program or a work based
-on the Program.
-
- To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy. Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
- To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies. Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
- An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License. If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
- 1. Source Code.
-
- The "source code" for a work means the preferred form of the work
-for making modifications to it. "Object code" means any non-source
-form of a work.
-
- A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
- The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form. A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
- The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities. However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work. For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
- The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
- The Corresponding Source for a work in source code form is that
-same work.
-
- 2. Basic Permissions.
-
- All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met. This License explicitly affirms your unlimited
-permission to run the unmodified Program. The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work. This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
- You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force. You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright. Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
- Conveying under any other circumstances is permitted solely under
-the conditions stated below. Sublicensing is not allowed; section 10
-makes it unnecessary.
-
- 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
- No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
- When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
- 4. Conveying Verbatim Copies.
-
- You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
- You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
- 5. Conveying Modified Source Versions.
-
- You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
- a) The work must carry prominent notices stating that you modified
- it, and giving a relevant date.
-
- b) The work must carry prominent notices stating that it is
- released under this License and any conditions added under section
- 7. This requirement modifies the requirement in section 4 to
- "keep intact all notices".
-
- c) You must license the entire work, as a whole, under this
- License to anyone who comes into possession of a copy. This
- License will therefore apply, along with any applicable section 7
- additional terms, to the whole of the work, and all its parts,
- regardless of how they are packaged. This License gives no
- permission to license the work in any other way, but it does not
- invalidate such permission if you have separately received it.
-
- d) If the work has interactive user interfaces, each must display
- Appropriate Legal Notices; however, if the Program has interactive
- interfaces that do not display Appropriate Legal Notices, your
- work need not make them do so.
-
- A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit. Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
- 6. Conveying Non-Source Forms.
-
- You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
- a) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by the
- Corresponding Source fixed on a durable physical medium
- customarily used for software interchange.
-
- b) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by a
- written offer, valid for at least three years and valid for as
- long as you offer spare parts or customer support for that product
- model, to give anyone who possesses the object code either (1) a
- copy of the Corresponding Source for all the software in the
- product that is covered by this License, on a durable physical
- medium customarily used for software interchange, for a price no
- more than your reasonable cost of physically performing this
- conveying of source, or (2) access to copy the
- Corresponding Source from a network server at no charge.
-
- c) Convey individual copies of the object code with a copy of the
- written offer to provide the Corresponding Source. This
- alternative is allowed only occasionally and noncommercially, and
- only if you received the object code with such an offer, in accord
- with subsection 6b.
-
- d) Convey the object code by offering access from a designated
- place (gratis or for a charge), and offer equivalent access to the
- Corresponding Source in the same way through the same place at no
- further charge. You need not require recipients to copy the
- Corresponding Source along with the object code. If the place to
- copy the object code is a network server, the Corresponding Source
- may be on a different server (operated by you or a third party)
- that supports equivalent copying facilities, provided you maintain
- clear directions next to the object code saying where to find the
- Corresponding Source. Regardless of what server hosts the
- Corresponding Source, you remain obligated to ensure that it is
- available for as long as needed to satisfy these requirements.
-
- e) Convey the object code using peer-to-peer transmission, provided
- you inform other peers where the object code and Corresponding
- Source of the work are being offered to the general public at no
- charge under subsection 6d.
-
- A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
- A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling. In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage. For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product. A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
- "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source. The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
- If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information. But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
- The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed. Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
- Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
- 7. Additional Terms.
-
- "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law. If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
- When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it. (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.) You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
- Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
- a) Disclaiming warranty or limiting liability differently from the
- terms of sections 15 and 16 of this License; or
-
- b) Requiring preservation of specified reasonable legal notices or
- author attributions in that material or in the Appropriate Legal
- Notices displayed by works containing it; or
-
- c) Prohibiting misrepresentation of the origin of that material, or
- requiring that modified versions of such material be marked in
- reasonable ways as different from the original version; or
-
- d) Limiting the use for publicity purposes of names of licensors or
- authors of the material; or
-
- e) Declining to grant rights under trademark law for use of some
- trade names, trademarks, or service marks; or
-
- f) Requiring indemnification of licensors and authors of that
- material by anyone who conveys the material (or modified versions of
- it) with contractual assumptions of liability to the recipient, for
- any liability that these contractual assumptions directly impose on
- those licensors and authors.
-
- All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10. If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term. If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
- If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
- Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
- 8. Termination.
-
- You may not propagate or modify a covered work except as expressly
-provided under this License. Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
- However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
- Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
- Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License. If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
- 9. Acceptance Not Required for Having Copies.
-
- You are not required to accept this License in order to receive or
-run a copy of the Program. Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance. However,
-nothing other than this License grants you permission to propagate or
-modify any covered work. These actions infringe copyright if you do
-not accept this License. Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
- 10. Automatic Licensing of Downstream Recipients.
-
- Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License. You are not responsible
-for enforcing compliance by third parties with this License.
-
- An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations. If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
- You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License. For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
- 11. Patents.
-
- A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based. The
-work thus licensed is called the contributor's "contributor version".
-
- A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version. For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
- Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
- In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement). To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
- If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients. "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
- If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
- A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License. You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
- Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
- 12. No Surrender of Others' Freedom.
-
- If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all. For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
- 13. Use with the GNU Affero General Public License.
-
- Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work. The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
- 14. Revised Versions of this License.
-
- The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
- Each version is given a distinguishing version number. If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation. If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
- If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
- Later license versions may give you additional or different
-permissions. However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
- 15. Disclaimer of Warranty.
-
- THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. Limitation of Liability.
-
- IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
- 17. Interpretation of Sections 15 and 16.
-
- If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-
- Copyright (C)
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see .
-
-Also add information on how to contact you by electronic and paper mail.
-
- If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
- Copyright (C)
- This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
- You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-.
-
- The GNU General Public License does not permit incorporating your program
-into proprietary programs. If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library. If this is what you want to do, use the GNU Lesser General
-Public License instead of this License. But first, please read
-.
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
diff --git a/common/utils/itti_analyzer/libparser/array_type.c b/common/utils/itti_analyzer/libparser/array_type.c
index c69351d32a..d88c7fa848 100644
--- a/common/utils/itti_analyzer/libparser/array_type.c
+++ b/common/utils/itti_analyzer/libparser/array_type.c
@@ -1,31 +1,32 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
#include
#include
diff --git a/common/utils/itti_analyzer/libparser/array_type.h b/common/utils/itti_analyzer/libparser/array_type.h
index 277a2a7db9..dd3eccf359 100644
--- a/common/utils/itti_analyzer/libparser/array_type.h
+++ b/common/utils/itti_analyzer/libparser/array_type.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
#include "types.h"
diff --git a/common/utils/itti_analyzer/libparser/enum_type.c b/common/utils/itti_analyzer/libparser/enum_type.c
index 1a2b90f2ca..78328b5492 100644
--- a/common/utils/itti_analyzer/libparser/enum_type.c
+++ b/common/utils/itti_analyzer/libparser/enum_type.c
@@ -1,31 +1,32 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
#include
#include
diff --git a/common/utils/itti_analyzer/libparser/enum_type.h b/common/utils/itti_analyzer/libparser/enum_type.h
index 745140b52d..ae19a5c495 100644
--- a/common/utils/itti_analyzer/libparser/enum_type.h
+++ b/common/utils/itti_analyzer/libparser/enum_type.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
#include "types.h"
diff --git a/common/utils/itti_analyzer/libparser/enum_value_type.c b/common/utils/itti_analyzer/libparser/enum_value_type.c
index 47d3ba9b37..eae25817b6 100644
--- a/common/utils/itti_analyzer/libparser/enum_value_type.c
+++ b/common/utils/itti_analyzer/libparser/enum_value_type.c
@@ -1,31 +1,32 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
#include
#include
diff --git a/common/utils/itti_analyzer/libparser/enum_value_type.h b/common/utils/itti_analyzer/libparser/enum_value_type.h
index 6be8eda743..71ce4f9849 100644
--- a/common/utils/itti_analyzer/libparser/enum_value_type.h
+++ b/common/utils/itti_analyzer/libparser/enum_value_type.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
#include "types.h"
diff --git a/common/utils/itti_analyzer/libparser/field_type.c b/common/utils/itti_analyzer/libparser/field_type.c
index 4a9c6df56b..4ebb743150 100644
--- a/common/utils/itti_analyzer/libparser/field_type.c
+++ b/common/utils/itti_analyzer/libparser/field_type.c
@@ -1,31 +1,32 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
#include
#include
diff --git a/common/utils/itti_analyzer/libparser/field_type.h b/common/utils/itti_analyzer/libparser/field_type.h
index abc09c0fe0..0437f9e5ec 100644
--- a/common/utils/itti_analyzer/libparser/field_type.h
+++ b/common/utils/itti_analyzer/libparser/field_type.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
#include "types.h"
diff --git a/common/utils/itti_analyzer/libparser/file_type.c b/common/utils/itti_analyzer/libparser/file_type.c
index 84552a836a..c032e6eb88 100644
--- a/common/utils/itti_analyzer/libparser/file_type.c
+++ b/common/utils/itti_analyzer/libparser/file_type.c
@@ -1,31 +1,32 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
#include
#include
diff --git a/common/utils/itti_analyzer/libparser/file_type.h b/common/utils/itti_analyzer/libparser/file_type.h
index e6343afad8..d84f5af34f 100644
--- a/common/utils/itti_analyzer/libparser/file_type.h
+++ b/common/utils/itti_analyzer/libparser/file_type.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
#include "types.h"
diff --git a/common/utils/itti_analyzer/libparser/fundamental_type.c b/common/utils/itti_analyzer/libparser/fundamental_type.c
index 1c9c9a0dc9..8559919730 100644
--- a/common/utils/itti_analyzer/libparser/fundamental_type.c
+++ b/common/utils/itti_analyzer/libparser/fundamental_type.c
@@ -1,31 +1,32 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
#include
#include
diff --git a/common/utils/itti_analyzer/libparser/fundamental_type.h b/common/utils/itti_analyzer/libparser/fundamental_type.h
index b0e169c643..cb13bf2b79 100644
--- a/common/utils/itti_analyzer/libparser/fundamental_type.h
+++ b/common/utils/itti_analyzer/libparser/fundamental_type.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
-
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
#include "types.h"
diff --git a/common/utils/itti_analyzer/libparser/intertask_contexts.h b/common/utils/itti_analyzer/libparser/intertask_contexts.h
index 207910ee87..72d3fb2cc6 100644
--- a/common/utils/itti_analyzer/libparser/intertask_contexts.h
+++ b/common/utils/itti_analyzer/libparser/intertask_contexts.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
#include "fundamental_type.h"
#include "struct_type.h"
diff --git a/common/utils/itti_analyzer/libparser/pointer_type.c b/common/utils/itti_analyzer/libparser/pointer_type.c
index e888c04b9a..921bafcac8 100644
--- a/common/utils/itti_analyzer/libparser/pointer_type.c
+++ b/common/utils/itti_analyzer/libparser/pointer_type.c
@@ -1,31 +1,32 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
#include
#include
diff --git a/common/utils/itti_analyzer/libparser/pointer_type.h b/common/utils/itti_analyzer/libparser/pointer_type.h
index b6eabff9a2..0c6b901f5b 100644
--- a/common/utils/itti_analyzer/libparser/pointer_type.h
+++ b/common/utils/itti_analyzer/libparser/pointer_type.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
#include "types.h"
diff --git a/common/utils/itti_analyzer/libparser/reference_type.c b/common/utils/itti_analyzer/libparser/reference_type.c
index 7409747d53..ee49b10cd5 100644
--- a/common/utils/itti_analyzer/libparser/reference_type.c
+++ b/common/utils/itti_analyzer/libparser/reference_type.c
@@ -1,31 +1,32 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
#include
#include
diff --git a/common/utils/itti_analyzer/libparser/reference_type.h b/common/utils/itti_analyzer/libparser/reference_type.h
index bcbfc98941..693bc712d8 100644
--- a/common/utils/itti_analyzer/libparser/reference_type.h
+++ b/common/utils/itti_analyzer/libparser/reference_type.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
#include "types.h"
diff --git a/common/utils/itti_analyzer/libparser/struct_type.c b/common/utils/itti_analyzer/libparser/struct_type.c
index b37c86fe59..af1201b4d2 100644
--- a/common/utils/itti_analyzer/libparser/struct_type.c
+++ b/common/utils/itti_analyzer/libparser/struct_type.c
@@ -1,31 +1,32 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
#include
#include
diff --git a/common/utils/itti_analyzer/libparser/struct_type.h b/common/utils/itti_analyzer/libparser/struct_type.h
index e132c31690..7bbb9ee100 100644
--- a/common/utils/itti_analyzer/libparser/struct_type.h
+++ b/common/utils/itti_analyzer/libparser/struct_type.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
#include "types.h"
diff --git a/common/utils/itti_analyzer/libparser/typedef_type.c b/common/utils/itti_analyzer/libparser/typedef_type.c
index 08f9eb5b38..285acfad5c 100644
--- a/common/utils/itti_analyzer/libparser/typedef_type.c
+++ b/common/utils/itti_analyzer/libparser/typedef_type.c
@@ -1,31 +1,32 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
#include
#include
diff --git a/common/utils/itti_analyzer/libparser/typedef_type.h b/common/utils/itti_analyzer/libparser/typedef_type.h
index aac3a680b7..0657f50c98 100644
--- a/common/utils/itti_analyzer/libparser/typedef_type.h
+++ b/common/utils/itti_analyzer/libparser/typedef_type.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
#include "types.h"
diff --git a/common/utils/itti_analyzer/libparser/types.c b/common/utils/itti_analyzer/libparser/types.c
index dbd87e8eb7..7ae55bb737 100644
--- a/common/utils/itti_analyzer/libparser/types.c
+++ b/common/utils/itti_analyzer/libparser/types.c
@@ -1,31 +1,32 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
#include
#include
diff --git a/common/utils/itti_analyzer/libparser/types.h b/common/utils/itti_analyzer/libparser/types.h
index ad502d3a13..339029839d 100644
--- a/common/utils/itti_analyzer/libparser/types.h
+++ b/common/utils/itti_analyzer/libparser/types.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
#include
diff --git a/common/utils/itti_analyzer/libparser/union_type.c b/common/utils/itti_analyzer/libparser/union_type.c
index 08ce06b389..ef8fd393ac 100644
--- a/common/utils/itti_analyzer/libparser/union_type.c
+++ b/common/utils/itti_analyzer/libparser/union_type.c
@@ -1,31 +1,32 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
#include
#include
diff --git a/common/utils/itti_analyzer/libparser/union_type.h b/common/utils/itti_analyzer/libparser/union_type.h
index faf0cecfa0..c1817dea6e 100644
--- a/common/utils/itti_analyzer/libparser/union_type.h
+++ b/common/utils/itti_analyzer/libparser/union_type.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
#include "types.h"
diff --git a/common/utils/itti_analyzer/libparser/xml_parse.c b/common/utils/itti_analyzer/libparser/xml_parse.c
index 98b93976eb..cdad8ee3ed 100644
--- a/common/utils/itti_analyzer/libparser/xml_parse.c
+++ b/common/utils/itti_analyzer/libparser/xml_parse.c
@@ -1,31 +1,32 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
#include
#include
diff --git a/common/utils/itti_analyzer/libparser/xml_parse.h b/common/utils/itti_analyzer/libparser/xml_parse.h
index 7b1f28527f..5d23a6157a 100644
--- a/common/utils/itti_analyzer/libparser/xml_parse.h
+++ b/common/utils/itti_analyzer/libparser/xml_parse.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
#include "rc.h"
#include "types.h"
diff --git a/common/utils/itti_analyzer/libresolver/COPYING b/common/utils/itti_analyzer/libresolver/COPYING
index 818433ecc0..d605b9a3b1 100644
--- a/common/utils/itti_analyzer/libresolver/COPYING
+++ b/common/utils/itti_analyzer/libresolver/COPYING
@@ -1,674 +1,28 @@
- GNU GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc.
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
- The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works. By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users. We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors. You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
- To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights. Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received. You must make sure that they, too, receive
-or can get the source code. And you must show them these terms so they
-know their rights.
-
- Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
- For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software. For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
- Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so. This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software. The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable. Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products. If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
- Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary. To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- TERMS AND CONDITIONS
-
- 0. Definitions.
-
- "This License" refers to version 3 of the GNU General Public License.
-
- "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
- "The Program" refers to any copyrightable work licensed under this
-License. Each licensee is addressed as "you". "Licensees" and
-"recipients" may be individuals or organizations.
-
- To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy. The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
- A "covered work" means either the unmodified Program or a work based
-on the Program.
-
- To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy. Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
- To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies. Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
- An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License. If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
- 1. Source Code.
-
- The "source code" for a work means the preferred form of the work
-for making modifications to it. "Object code" means any non-source
-form of a work.
-
- A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
- The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form. A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
- The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities. However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work. For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
- The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
- The Corresponding Source for a work in source code form is that
-same work.
-
- 2. Basic Permissions.
-
- All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met. This License explicitly affirms your unlimited
-permission to run the unmodified Program. The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work. This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
- You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force. You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright. Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
- Conveying under any other circumstances is permitted solely under
-the conditions stated below. Sublicensing is not allowed; section 10
-makes it unnecessary.
-
- 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
- No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
- When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
- 4. Conveying Verbatim Copies.
-
- You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
- You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
- 5. Conveying Modified Source Versions.
-
- You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
- a) The work must carry prominent notices stating that you modified
- it, and giving a relevant date.
-
- b) The work must carry prominent notices stating that it is
- released under this License and any conditions added under section
- 7. This requirement modifies the requirement in section 4 to
- "keep intact all notices".
-
- c) You must license the entire work, as a whole, under this
- License to anyone who comes into possession of a copy. This
- License will therefore apply, along with any applicable section 7
- additional terms, to the whole of the work, and all its parts,
- regardless of how they are packaged. This License gives no
- permission to license the work in any other way, but it does not
- invalidate such permission if you have separately received it.
-
- d) If the work has interactive user interfaces, each must display
- Appropriate Legal Notices; however, if the Program has interactive
- interfaces that do not display Appropriate Legal Notices, your
- work need not make them do so.
-
- A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit. Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
- 6. Conveying Non-Source Forms.
-
- You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
- a) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by the
- Corresponding Source fixed on a durable physical medium
- customarily used for software interchange.
-
- b) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by a
- written offer, valid for at least three years and valid for as
- long as you offer spare parts or customer support for that product
- model, to give anyone who possesses the object code either (1) a
- copy of the Corresponding Source for all the software in the
- product that is covered by this License, on a durable physical
- medium customarily used for software interchange, for a price no
- more than your reasonable cost of physically performing this
- conveying of source, or (2) access to copy the
- Corresponding Source from a network server at no charge.
-
- c) Convey individual copies of the object code with a copy of the
- written offer to provide the Corresponding Source. This
- alternative is allowed only occasionally and noncommercially, and
- only if you received the object code with such an offer, in accord
- with subsection 6b.
-
- d) Convey the object code by offering access from a designated
- place (gratis or for a charge), and offer equivalent access to the
- Corresponding Source in the same way through the same place at no
- further charge. You need not require recipients to copy the
- Corresponding Source along with the object code. If the place to
- copy the object code is a network server, the Corresponding Source
- may be on a different server (operated by you or a third party)
- that supports equivalent copying facilities, provided you maintain
- clear directions next to the object code saying where to find the
- Corresponding Source. Regardless of what server hosts the
- Corresponding Source, you remain obligated to ensure that it is
- available for as long as needed to satisfy these requirements.
-
- e) Convey the object code using peer-to-peer transmission, provided
- you inform other peers where the object code and Corresponding
- Source of the work are being offered to the general public at no
- charge under subsection 6d.
-
- A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
- A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling. In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage. For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product. A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
- "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source. The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
- If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information. But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
- The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed. Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
- Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
- 7. Additional Terms.
-
- "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law. If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
- When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it. (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.) You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
- Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
- a) Disclaiming warranty or limiting liability differently from the
- terms of sections 15 and 16 of this License; or
-
- b) Requiring preservation of specified reasonable legal notices or
- author attributions in that material or in the Appropriate Legal
- Notices displayed by works containing it; or
-
- c) Prohibiting misrepresentation of the origin of that material, or
- requiring that modified versions of such material be marked in
- reasonable ways as different from the original version; or
-
- d) Limiting the use for publicity purposes of names of licensors or
- authors of the material; or
-
- e) Declining to grant rights under trademark law for use of some
- trade names, trademarks, or service marks; or
-
- f) Requiring indemnification of licensors and authors of that
- material by anyone who conveys the material (or modified versions of
- it) with contractual assumptions of liability to the recipient, for
- any liability that these contractual assumptions directly impose on
- those licensors and authors.
-
- All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10. If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term. If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
- If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
- Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
- 8. Termination.
-
- You may not propagate or modify a covered work except as expressly
-provided under this License. Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
- However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
- Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
- Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License. If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
- 9. Acceptance Not Required for Having Copies.
-
- You are not required to accept this License in order to receive or
-run a copy of the Program. Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance. However,
-nothing other than this License grants you permission to propagate or
-modify any covered work. These actions infringe copyright if you do
-not accept this License. Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
- 10. Automatic Licensing of Downstream Recipients.
-
- Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License. You are not responsible
-for enforcing compliance by third parties with this License.
-
- An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations. If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
- You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License. For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
- 11. Patents.
-
- A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based. The
-work thus licensed is called the contributor's "contributor version".
-
- A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version. For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
- Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
- In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement). To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
- If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients. "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
- If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
- A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License. You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
- Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
- 12. No Surrender of Others' Freedom.
-
- If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all. For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
- 13. Use with the GNU Affero General Public License.
-
- Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work. The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
- 14. Revised Versions of this License.
-
- The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
- Each version is given a distinguishing version number. If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation. If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
- If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
- Later license versions may give you additional or different
-permissions. However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
- 15. Disclaimer of Warranty.
-
- THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. Limitation of Liability.
-
- IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
- 17. Interpretation of Sections 15 and 16.
-
- If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-
- Copyright (C)
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see .
-
-Also add information on how to contact you by electronic and paper mail.
-
- If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
- Copyright (C)
- This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
- You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-.
-
- The GNU General Public License does not permit incorporating your program
-into proprietary programs. If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library. If this is what you want to do, use the GNU Lesser General
-Public License instead of this License. But first, please read
-.
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
diff --git a/common/utils/itti_analyzer/libresolver/locate_root.c b/common/utils/itti_analyzer/libresolver/locate_root.c
index 18f3a2d188..8d1b101e73 100644
--- a/common/utils/itti_analyzer/libresolver/locate_root.c
+++ b/common/utils/itti_analyzer/libresolver/locate_root.c
@@ -1,31 +1,32 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
#include
#include
diff --git a/common/utils/itti_analyzer/libresolver/locate_root.h b/common/utils/itti_analyzer/libresolver/locate_root.h
index 9e9a5f204d..103e7b96ef 100644
--- a/common/utils/itti_analyzer/libresolver/locate_root.h
+++ b/common/utils/itti_analyzer/libresolver/locate_root.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
#ifndef LOCATE_ROOT_H_
#define LOCATE_ROOT_H_
diff --git a/common/utils/itti_analyzer/libresolver/resolvers.c b/common/utils/itti_analyzer/libresolver/resolvers.c
index 312effbcaf..685cd84d87 100644
--- a/common/utils/itti_analyzer/libresolver/resolvers.c
+++ b/common/utils/itti_analyzer/libresolver/resolvers.c
@@ -1,31 +1,32 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
#include
#include
diff --git a/common/utils/itti_analyzer/libresolver/resolvers.h b/common/utils/itti_analyzer/libresolver/resolvers.h
index 1b24e921e9..84d2e15ecf 100644
--- a/common/utils/itti_analyzer/libresolver/resolvers.h
+++ b/common/utils/itti_analyzer/libresolver/resolvers.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
#ifndef RESOLVERS_H_
#define RESOLVERS_H_
diff --git a/common/utils/itti_analyzer/libui/COPYING b/common/utils/itti_analyzer/libui/COPYING
index 818433ecc0..d605b9a3b1 100644
--- a/common/utils/itti_analyzer/libui/COPYING
+++ b/common/utils/itti_analyzer/libui/COPYING
@@ -1,674 +1,28 @@
- GNU GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc.
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
- The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works. By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users. We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors. You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
- To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights. Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received. You must make sure that they, too, receive
-or can get the source code. And you must show them these terms so they
-know their rights.
-
- Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
- For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software. For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
- Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so. This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software. The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable. Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products. If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
- Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary. To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- TERMS AND CONDITIONS
-
- 0. Definitions.
-
- "This License" refers to version 3 of the GNU General Public License.
-
- "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
- "The Program" refers to any copyrightable work licensed under this
-License. Each licensee is addressed as "you". "Licensees" and
-"recipients" may be individuals or organizations.
-
- To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy. The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
- A "covered work" means either the unmodified Program or a work based
-on the Program.
-
- To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy. Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
- To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies. Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
- An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License. If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
- 1. Source Code.
-
- The "source code" for a work means the preferred form of the work
-for making modifications to it. "Object code" means any non-source
-form of a work.
-
- A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
- The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form. A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
- The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities. However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work. For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
- The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
- The Corresponding Source for a work in source code form is that
-same work.
-
- 2. Basic Permissions.
-
- All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met. This License explicitly affirms your unlimited
-permission to run the unmodified Program. The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work. This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
- You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force. You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright. Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
- Conveying under any other circumstances is permitted solely under
-the conditions stated below. Sublicensing is not allowed; section 10
-makes it unnecessary.
-
- 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
- No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
- When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
- 4. Conveying Verbatim Copies.
-
- You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
- You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
- 5. Conveying Modified Source Versions.
-
- You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
- a) The work must carry prominent notices stating that you modified
- it, and giving a relevant date.
-
- b) The work must carry prominent notices stating that it is
- released under this License and any conditions added under section
- 7. This requirement modifies the requirement in section 4 to
- "keep intact all notices".
-
- c) You must license the entire work, as a whole, under this
- License to anyone who comes into possession of a copy. This
- License will therefore apply, along with any applicable section 7
- additional terms, to the whole of the work, and all its parts,
- regardless of how they are packaged. This License gives no
- permission to license the work in any other way, but it does not
- invalidate such permission if you have separately received it.
-
- d) If the work has interactive user interfaces, each must display
- Appropriate Legal Notices; however, if the Program has interactive
- interfaces that do not display Appropriate Legal Notices, your
- work need not make them do so.
-
- A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit. Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
- 6. Conveying Non-Source Forms.
-
- You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
- a) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by the
- Corresponding Source fixed on a durable physical medium
- customarily used for software interchange.
-
- b) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by a
- written offer, valid for at least three years and valid for as
- long as you offer spare parts or customer support for that product
- model, to give anyone who possesses the object code either (1) a
- copy of the Corresponding Source for all the software in the
- product that is covered by this License, on a durable physical
- medium customarily used for software interchange, for a price no
- more than your reasonable cost of physically performing this
- conveying of source, or (2) access to copy the
- Corresponding Source from a network server at no charge.
-
- c) Convey individual copies of the object code with a copy of the
- written offer to provide the Corresponding Source. This
- alternative is allowed only occasionally and noncommercially, and
- only if you received the object code with such an offer, in accord
- with subsection 6b.
-
- d) Convey the object code by offering access from a designated
- place (gratis or for a charge), and offer equivalent access to the
- Corresponding Source in the same way through the same place at no
- further charge. You need not require recipients to copy the
- Corresponding Source along with the object code. If the place to
- copy the object code is a network server, the Corresponding Source
- may be on a different server (operated by you or a third party)
- that supports equivalent copying facilities, provided you maintain
- clear directions next to the object code saying where to find the
- Corresponding Source. Regardless of what server hosts the
- Corresponding Source, you remain obligated to ensure that it is
- available for as long as needed to satisfy these requirements.
-
- e) Convey the object code using peer-to-peer transmission, provided
- you inform other peers where the object code and Corresponding
- Source of the work are being offered to the general public at no
- charge under subsection 6d.
-
- A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
- A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling. In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage. For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product. A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
- "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source. The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
- If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information. But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
- The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed. Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
- Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
- 7. Additional Terms.
-
- "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law. If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
- When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it. (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.) You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
- Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
- a) Disclaiming warranty or limiting liability differently from the
- terms of sections 15 and 16 of this License; or
-
- b) Requiring preservation of specified reasonable legal notices or
- author attributions in that material or in the Appropriate Legal
- Notices displayed by works containing it; or
-
- c) Prohibiting misrepresentation of the origin of that material, or
- requiring that modified versions of such material be marked in
- reasonable ways as different from the original version; or
-
- d) Limiting the use for publicity purposes of names of licensors or
- authors of the material; or
-
- e) Declining to grant rights under trademark law for use of some
- trade names, trademarks, or service marks; or
-
- f) Requiring indemnification of licensors and authors of that
- material by anyone who conveys the material (or modified versions of
- it) with contractual assumptions of liability to the recipient, for
- any liability that these contractual assumptions directly impose on
- those licensors and authors.
-
- All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10. If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term. If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
- If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
- Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
- 8. Termination.
-
- You may not propagate or modify a covered work except as expressly
-provided under this License. Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
- However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
- Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
- Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License. If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
- 9. Acceptance Not Required for Having Copies.
-
- You are not required to accept this License in order to receive or
-run a copy of the Program. Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance. However,
-nothing other than this License grants you permission to propagate or
-modify any covered work. These actions infringe copyright if you do
-not accept this License. Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
- 10. Automatic Licensing of Downstream Recipients.
-
- Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License. You are not responsible
-for enforcing compliance by third parties with this License.
-
- An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations. If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
- You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License. For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
- 11. Patents.
-
- A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based. The
-work thus licensed is called the contributor's "contributor version".
-
- A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version. For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
- Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
- In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement). To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
- If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients. "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
- If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
- A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License. You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
- Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
- 12. No Surrender of Others' Freedom.
-
- If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all. For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
- 13. Use with the GNU Affero General Public License.
-
- Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work. The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
- 14. Revised Versions of this License.
-
- The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
- Each version is given a distinguishing version number. If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation. If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
- If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
- Later license versions may give you additional or different
-permissions. However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
- 15. Disclaimer of Warranty.
-
- THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. Limitation of Liability.
-
- IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
- 17. Interpretation of Sections 15 and 16.
-
- If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-
- Copyright (C)
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see .
-
-Also add information on how to contact you by electronic and paper mail.
-
- If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
- Copyright (C)
- This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
- You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-.
-
- The GNU General Public License does not permit incorporating your program
-into proprietary programs. If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library. If this is what you want to do, use the GNU Lesser General
-Public License instead of this License. But first, please read
-.
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
diff --git a/common/utils/itti_analyzer/libui/ui_callbacks.c b/common/utils/itti_analyzer/libui/ui_callbacks.c
index bec4dc3024..725a453334 100644
--- a/common/utils/itti_analyzer/libui/ui_callbacks.c
+++ b/common/utils/itti_analyzer/libui/ui_callbacks.c
@@ -1,31 +1,32 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
#if HAVE_CONFIG_H
# include "config.h"
diff --git a/common/utils/itti_analyzer/libui/ui_callbacks.h b/common/utils/itti_analyzer/libui/ui_callbacks.h
index 8ca5665f08..f408441548 100644
--- a/common/utils/itti_analyzer/libui/ui_callbacks.h
+++ b/common/utils/itti_analyzer/libui/ui_callbacks.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
#ifndef UI_CALLBACKS_H_
#define UI_CALLBACKS_H_
diff --git a/common/utils/itti_analyzer/libui/ui_filters.c b/common/utils/itti_analyzer/libui/ui_filters.c
index 8d66904c99..e2fb993933 100644
--- a/common/utils/itti_analyzer/libui/ui_filters.c
+++ b/common/utils/itti_analyzer/libui/ui_filters.c
@@ -1,31 +1,32 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
#include
#include
diff --git a/common/utils/itti_analyzer/libui/ui_filters.h b/common/utils/itti_analyzer/libui/ui_filters.h
index 4eb051e918..9e168ad62f 100644
--- a/common/utils/itti_analyzer/libui/ui_filters.h
+++ b/common/utils/itti_analyzer/libui/ui_filters.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
#ifndef UI_FILTERS_H_
#define UI_FILTERS_H_
diff --git a/common/utils/itti_analyzer/libui/ui_interface.c b/common/utils/itti_analyzer/libui/ui_interface.c
index cbb3b9fc98..8f0f5a8415 100644
--- a/common/utils/itti_analyzer/libui/ui_interface.c
+++ b/common/utils/itti_analyzer/libui/ui_interface.c
@@ -1,31 +1,32 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
#include
#include
diff --git a/common/utils/itti_analyzer/libui/ui_interface.h b/common/utils/itti_analyzer/libui/ui_interface.h
index ef7fe31f6b..de120e6565 100644
--- a/common/utils/itti_analyzer/libui/ui_interface.h
+++ b/common/utils/itti_analyzer/libui/ui_interface.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
#include
diff --git a/common/utils/itti_analyzer/libui/ui_main_screen.c b/common/utils/itti_analyzer/libui/ui_main_screen.c
index ae3ab125c0..e440bfb50e 100644
--- a/common/utils/itti_analyzer/libui/ui_main_screen.c
+++ b/common/utils/itti_analyzer/libui/ui_main_screen.c
@@ -1,31 +1,32 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
#if HAVE_CONFIG_H
# include "config.h"
diff --git a/common/utils/itti_analyzer/libui/ui_main_screen.h b/common/utils/itti_analyzer/libui/ui_main_screen.h
index 9d0805f4cd..4455195a1d 100644
--- a/common/utils/itti_analyzer/libui/ui_main_screen.h
+++ b/common/utils/itti_analyzer/libui/ui_main_screen.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
#ifndef UI_MAIN_SCREEN_H_
#define UI_MAIN_SCREEN_H_
diff --git a/common/utils/itti_analyzer/libui/ui_menu_bar.c b/common/utils/itti_analyzer/libui/ui_menu_bar.c
index b4ec50141a..a5c7c2810f 100644
--- a/common/utils/itti_analyzer/libui/ui_menu_bar.c
+++ b/common/utils/itti_analyzer/libui/ui_menu_bar.c
@@ -1,31 +1,32 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
#define G_LOG_DOMAIN ("UI")
diff --git a/common/utils/itti_analyzer/libui/ui_menu_bar.h b/common/utils/itti_analyzer/libui/ui_menu_bar.h
index 03e069b96b..7644862c7a 100644
--- a/common/utils/itti_analyzer/libui/ui_menu_bar.h
+++ b/common/utils/itti_analyzer/libui/ui_menu_bar.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
#ifndef UI_MENU_BAR_H_
#define UI_MENU_BAR_H_
diff --git a/common/utils/itti_analyzer/libui/ui_notebook.c b/common/utils/itti_analyzer/libui/ui_notebook.c
index d5e81ffa4e..07bf12fe7c 100644
--- a/common/utils/itti_analyzer/libui/ui_notebook.c
+++ b/common/utils/itti_analyzer/libui/ui_notebook.c
@@ -1,31 +1,32 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
#if HAVE_CONFIG_H
# include "config.h"
diff --git a/common/utils/itti_analyzer/libui/ui_notebook.h b/common/utils/itti_analyzer/libui/ui_notebook.h
index 741eb901e9..cf574608ca 100644
--- a/common/utils/itti_analyzer/libui/ui_notebook.h
+++ b/common/utils/itti_analyzer/libui/ui_notebook.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
#ifndef UI_NOTEBOOK_H_
#define UI_NOTEBOOK_H_
diff --git a/common/utils/itti_analyzer/libui/ui_notif_dlg.c b/common/utils/itti_analyzer/libui/ui_notif_dlg.c
index 0b278e6429..6d442a733c 100644
--- a/common/utils/itti_analyzer/libui/ui_notif_dlg.c
+++ b/common/utils/itti_analyzer/libui/ui_notif_dlg.c
@@ -1,31 +1,32 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
#define G_LOG_DOMAIN ("UI")
diff --git a/common/utils/itti_analyzer/libui/ui_notif_dlg.h b/common/utils/itti_analyzer/libui/ui_notif_dlg.h
index ea6d2754ce..871b7ddb0c 100644
--- a/common/utils/itti_analyzer/libui/ui_notif_dlg.h
+++ b/common/utils/itti_analyzer/libui/ui_notif_dlg.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
#include
diff --git a/common/utils/itti_analyzer/libui/ui_notifications.c b/common/utils/itti_analyzer/libui/ui_notifications.c
index 50fed85645..5a3b57656b 100644
--- a/common/utils/itti_analyzer/libui/ui_notifications.c
+++ b/common/utils/itti_analyzer/libui/ui_notifications.c
@@ -1,31 +1,32 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
#include
#include
diff --git a/common/utils/itti_analyzer/libui/ui_notifications.h b/common/utils/itti_analyzer/libui/ui_notifications.h
index 377c093849..9ea36aa1f2 100644
--- a/common/utils/itti_analyzer/libui/ui_notifications.h
+++ b/common/utils/itti_analyzer/libui/ui_notifications.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
#ifndef UI_NOTIFICATIONS_H_
#define UI_NOTIFICATIONS_H_
diff --git a/common/utils/itti_analyzer/libui/ui_signal_dissect_view.c b/common/utils/itti_analyzer/libui/ui_signal_dissect_view.c
index 41af8410ac..49e8df315d 100644
--- a/common/utils/itti_analyzer/libui/ui_signal_dissect_view.c
+++ b/common/utils/itti_analyzer/libui/ui_signal_dissect_view.c
@@ -1,31 +1,32 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
#include
diff --git a/common/utils/itti_analyzer/libui/ui_signal_dissect_view.h b/common/utils/itti_analyzer/libui/ui_signal_dissect_view.h
index 1c9688f68d..36d8d55de5 100644
--- a/common/utils/itti_analyzer/libui/ui_signal_dissect_view.h
+++ b/common/utils/itti_analyzer/libui/ui_signal_dissect_view.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
#ifndef UI_SIGNAL_DISSECT_VIEW_H_
#define UI_SIGNAL_DISSECT_VIEW_H_
diff --git a/common/utils/itti_analyzer/libui/ui_tree_view.c b/common/utils/itti_analyzer/libui/ui_tree_view.c
index 69b6b6b324..94a612dac6 100644
--- a/common/utils/itti_analyzer/libui/ui_tree_view.c
+++ b/common/utils/itti_analyzer/libui/ui_tree_view.c
@@ -1,31 +1,32 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
#include
#include
diff --git a/common/utils/itti_analyzer/libui/ui_tree_view.h b/common/utils/itti_analyzer/libui/ui_tree_view.h
index 8abdf7f53d..cee24eba38 100644
--- a/common/utils/itti_analyzer/libui/ui_tree_view.h
+++ b/common/utils/itti_analyzer/libui/ui_tree_view.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
#ifndef UI_TREE_VIEW_H_
#define UI_TREE_VIEW_H_
diff --git a/common/utils/msc/msc.c b/common/utils/msc/msc.c
index 9f7ed5ac3c..c05c1bf7ce 100644
--- a/common/utils/msc/msc.c
+++ b/common/utils/msc/msc.c
@@ -1,31 +1,32 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
/*! \file msc.c
* \brief Message chart generator logging utility (generated files to processed by a script to produce a mscgen input file for generating a sequence diagram document)
* \author Lionel GAUTHIER
diff --git a/common/utils/msc/msc.h b/common/utils/msc/msc.h
index b5c0c83280..e73f826ac3 100644
--- a/common/utils/msc/msc.h
+++ b/common/utils/msc/msc.h
@@ -1,31 +1,31 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
-
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
- *******************************************************************************/
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
#ifndef MSC_H_
#define MSC_H_
diff --git a/openair-cn/AUTHORS b/openair-cn/AUTHORS
deleted file mode 100644
index 8b13789179..0000000000
--- a/openair-cn/AUTHORS
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/openair-cn/COMMON/common_types.h b/openair-cn/COMMON/common_types.h
index ff9a595ec8..18cba9fb81 100644
--- a/openair-cn/COMMON/common_types.h
+++ b/openair-cn/COMMON/common_types.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
#include
diff --git a/openair-cn/COMMON/gtpv1_u_messages_def.h b/openair-cn/COMMON/gtpv1_u_messages_def.h
index dfaa0429dc..d58b2dfc2e 100644
--- a/openair-cn/COMMON/gtpv1_u_messages_def.h
+++ b/openair-cn/COMMON/gtpv1_u_messages_def.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
MESSAGE_DEF(GTPV1U_CREATE_TUNNEL_REQ, MESSAGE_PRIORITY_MED, Gtpv1uCreateTunnelReq, gtpv1uCreateTunnelReq)
MESSAGE_DEF(GTPV1U_CREATE_TUNNEL_RESP, MESSAGE_PRIORITY_MED, Gtpv1uCreateTunnelResp, gtpv1uCreateTunnelResp)
MESSAGE_DEF(GTPV1U_UPDATE_TUNNEL_REQ, MESSAGE_PRIORITY_MED, Gtpv1uUpdateTunnelReq, gtpv1uUpdateTunnelReq)
diff --git a/openair-cn/COMMON/gtpv1_u_messages_types.h b/openair-cn/COMMON/gtpv1_u_messages_types.h
index 0fe662e9ea..13fd0fd8a0 100644
--- a/openair-cn/COMMON/gtpv1_u_messages_types.h
+++ b/openair-cn/COMMON/gtpv1_u_messages_types.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
#ifndef GTPV1_U_MESSAGES_TYPES_H_
#define GTPV1_U_MESSAGES_TYPES_H_
diff --git a/openair-cn/COMMON/intertask_interface_conf.h b/openair-cn/COMMON/intertask_interface_conf.h
index c6e8f02100..9ab7cc3151 100644
--- a/openair-cn/COMMON/intertask_interface_conf.h
+++ b/openair-cn/COMMON/intertask_interface_conf.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
/*
* intertask_interface_conf.h
diff --git a/openair-cn/COMMON/ip_forward_messages_def.h b/openair-cn/COMMON/ip_forward_messages_def.h
deleted file mode 100755
index 37ea73781a..0000000000
--- a/openair-cn/COMMON/ip_forward_messages_def.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
-
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-MESSAGE_DEF(SGI_CREATE_ENDPOINT_REQUEST, MESSAGE_PRIORITY_MED, SGICreateEndpointReq, sgiCreateEndpointReq)
-MESSAGE_DEF(SGI_CREATE_ENDPOINT_RESPONSE, MESSAGE_PRIORITY_MED, SGICreateEndpointResp, sgiCreateEndpointResp)
-MESSAGE_DEF(SGI_UPDATE_ENDPOINT_REQUEST, MESSAGE_PRIORITY_MED, SGIUpdateEndpointReq, sgiUpdateEndpointReq)
-MESSAGE_DEF(SGI_UPDATE_ENDPOINT_RESPONSE, MESSAGE_PRIORITY_MED, SGIUpdateEndpointResp, sgiUpdateEndpointResp)
-MESSAGE_DEF(SGI_DELETE_ENDPOINT_REQUEST, MESSAGE_PRIORITY_MED, SGIDeleteEndpointReq, sgiDeleteEndpointReq)
-MESSAGE_DEF(SGI_DELETE_ENDPOINT_RESPONSE, MESSAGE_PRIORITY_MED, SGIDeleteEndpointResp, sgiDeleteEndpointResp)
diff --git a/openair-cn/COMMON/ip_forward_messages_types.h b/openair-cn/COMMON/ip_forward_messages_types.h
deleted file mode 100755
index 40db8d5c38..0000000000
--- a/openair-cn/COMMON/ip_forward_messages_types.h
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
-
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-#ifndef SGI_FORWARD_MESSAGES_TYPES_H_
-#define SGI_FORWARD_MESSAGES_TYPES_H_
-
-typedef enum SGIStatus_e {
- SGI_STATUS_OK = 0,
- SGI_STATUS_ERROR_CONTEXT_ALREADY_EXIST = 50,
- SGI_STATUS_ERROR_CONTEXT_NOT_FOUND = 51,
- SGI_STATUS_ERROR_INVALID_MESSAGE_FORMAT = 52,
- SGI_STATUS_ERROR_SERVICE_NOT_SUPPORTED = 53,
- SGI_STATUS_ERROR_SYSTEM_FAILURE = 54,
- SGI_STATUS_ERROR_NO_RESOURCES_AVAILABLE = 55,
- SGI_STATUS_ERROR_NO_MEMORY_AVAILABLE = 56,
- SGI_STATUS_MAX,
-} SGIStatus_t;
-
-
-typedef struct {
- Teid_t context_teid; ///< Tunnel Endpoint Identifier S11
- Teid_t sgw_S1u_teid; ///< Tunnel Endpoint Identifier S1-U
- ebi_t eps_bearer_id; ///< EPS bearer identifier
- pdn_type_t pdn_type; ///< PDN Type
- PAA_t paa; ///< PDN Address Allocation
-} SGICreateEndpointReq;
-
-typedef struct {
- SGIStatus_t status; ///< Status of endpoint creation (Failed = 0xFF or Success = 0x0)
- Teid_t context_teid; ///< Tunnel Endpoint Identifier S11
- Teid_t sgw_S1u_teid; ///< Tunnel Endpoint Identifier S1-U
- ebi_t eps_bearer_id; ///< EPS bearer identifier
- pdn_type_t pdn_type; ///< PDN Type
- PAA_t paa; ///< PDN Address Allocation
- pco_flat_t pco; ///< Protocol configuration options
-} SGICreateEndpointResp;
-
-typedef struct {
- Teid_t context_teid; ///< Tunnel Endpoint Identifier S11
- Teid_t sgw_S1u_teid; ///< Tunnel Endpoint Identifier S1-U
- Teid_t enb_S1u_teid; ///< Tunnel Endpoint Identifier S1-U
- ebi_t eps_bearer_id; ///< EPS bearer identifier
-} SGIUpdateEndpointReq;
-
-typedef struct {
- SGIStatus_t status; ///< Status of endpoint creation (Failed = 0xFF or Success = 0x0)
- Teid_t context_teid; ///< Tunnel Endpoint Identifier S11
- Teid_t sgw_S1u_teid; ///< Tunnel Endpoint Identifier S1-U
- Teid_t enb_S1u_teid; ///< Tunnel Endpoint Identifier S1-U
- ebi_t eps_bearer_id; ///< EPS bearer identifier
-} SGIUpdateEndpointResp;
-
-
-typedef struct {
- Teid_t context_teid; ///< Tunnel Endpoint Identifier S11
- Teid_t sgw_S1u_teid; ///< Tunnel Endpoint Identifier S1-U
- ebi_t eps_bearer_id; ///< EPS bearer identifier
- pdn_type_t pdn_type; ///< PDN Type
- PAA_t paa; ///< PDN Address Allocation
-} SGIDeleteEndpointReq;
-
-typedef struct {
- SGIStatus_t status; ///< Status of endpoint deletion (Failed = 0xFF or Success = 0x0)
- Teid_t context_teid; ///< Tunnel Endpoint Identifier S11
- Teid_t sgw_S1u_teid; ///< Tunnel Endpoint Identifier S1-U
- ebi_t eps_bearer_id; ///< EPS bearer identifier
- pdn_type_t pdn_type; ///< PDN Type
- PAA_t paa; ///< PDN Address Allocation
-} SGIDeleteEndpointResp;
-
-#endif /* SGI_FORWARD_MESSAGES_TYPES_H_ */
diff --git a/openair-cn/COMMON/messages_def.h b/openair-cn/COMMON/messages_def.h
index 2e4dac22e8..2b8667507b 100644
--- a/openair-cn/COMMON/messages_def.h
+++ b/openair-cn/COMMON/messages_def.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
// These messages files are mandatory and must always be placed in first position
#include "intertask_messages_def.h"
#include "timer_messages_def.h"
diff --git a/openair-cn/COMMON/messages_types.h b/openair-cn/COMMON/messages_types.h
index fd5da40bb5..46a7261c59 100644
--- a/openair-cn/COMMON/messages_types.h
+++ b/openair-cn/COMMON/messages_types.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
#ifndef MESSAGES_TYPES_H_
#define MESSAGES_TYPES_H_
diff --git a/openair-cn/COMMON/mme_app_messages_def.h b/openair-cn/COMMON/mme_app_messages_def.h
deleted file mode 100644
index 68d904d4ae..0000000000
--- a/openair-cn/COMMON/mme_app_messages_def.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
-
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-//WARNING: Do not include this header directly. Use intertask_interface.h instead.
-
-MESSAGE_DEF(MME_APP_CONNECTION_ESTABLISHMENT_IND , MESSAGE_PRIORITY_MED, mme_app_connection_establishment_ind_t , mme_app_connection_establishment_ind)
-MESSAGE_DEF(MME_APP_CONNECTION_ESTABLISHMENT_CNF , MESSAGE_PRIORITY_MED, mme_app_connection_establishment_cnf_t , mme_app_connection_establishment_cnf)
-MESSAGE_DEF(MME_APP_INITIAL_CONTEXT_SETUP_RSP , MESSAGE_PRIORITY_MED, mme_app_initial_context_setup_rsp_t , mme_app_initial_context_setup_rsp)
diff --git a/openair-cn/COMMON/mme_app_messages_types.h b/openair-cn/COMMON/mme_app_messages_types.h
deleted file mode 100644
index b9caa41547..0000000000
--- a/openair-cn/COMMON/mme_app_messages_types.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
-
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-#ifndef MME_APP_MESSAGES_TYPES_H_
-#define MME_APP_MESSAGES_TYPES_H_
-
-
-#define MME_APP_CONNECTION_ESTABLISHMENT_IND(mSGpTR) (mSGpTR)->ittiMsg.mme_app_connection_establishment_ind
-#define MME_APP_CONNECTION_ESTABLISHMENT_CNF(mSGpTR) (mSGpTR)->ittiMsg.mme_app_connection_establishment_cnf
-#define MME_APP_INITIAL_CONTEXT_SETUP_RSP(mSGpTR) (mSGpTR)->ittiMsg.mme_app_initial_context_setup_rsp
-
-typedef struct mme_app_connection_establishment_ind_s {
- uint32_t mme_ue_s1ap_id;
- nas_establish_ind_t nas;
-
- /* Transparent message from s1ap to be forwarded to MME_APP or
- * to S1AP if connection establishment is rejected by NAS.
- */
- s1ap_initial_ue_message_t transparent;
-} mme_app_connection_establishment_ind_t;
-
-typedef struct mme_app_connection_establishment_cnf_s {
-
- ebi_t eps_bearer_id;
- FTeid_t bearer_s1u_sgw_fteid;
- qci_t bearer_qos_qci;
- priority_level_t bearer_qos_prio_level;
- pre_emp_vulnerability_t bearer_qos_pre_emp_vulnerability;
- pre_emp_capability_t bearer_qos_pre_emp_capability;
- ambr_t ambr;
-
- /* Key eNB */
- uint8_t keNB[32];
- uint16_t security_capabilities_encryption_algorithms;
- uint16_t security_capabilities_integrity_algorithms;
-
- nas_conn_est_cnf_t nas_conn_est_cnf;
-} mme_app_connection_establishment_cnf_t;
-
-typedef struct mme_app_initial_context_setup_rsp_s {
- uint32_t mme_ue_s1ap_id;
- ebi_t eps_bearer_id;
- FTeid_t bearer_s1u_enb_fteid;
-} mme_app_initial_context_setup_rsp_t;
-
-
-#endif /* MME_APP_MESSAGES_TYPES_H_ */
diff --git a/openair-cn/COMMON/nas_messages_def.h b/openair-cn/COMMON/nas_messages_def.h
index ddd7ca392c..7c7e670511 100644
--- a/openair-cn/COMMON/nas_messages_def.h
+++ b/openair-cn/COMMON/nas_messages_def.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
//WARNING: Do not include this header directly. Use intertask_interface.h instead.
// Messages for NAS logging
diff --git a/openair-cn/COMMON/nas_messages_types.h b/openair-cn/COMMON/nas_messages_types.h
index 6c03d25252..4cbdad2c99 100644
--- a/openair-cn/COMMON/nas_messages_types.h
+++ b/openair-cn/COMMON/nas_messages_types.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
#include "as_message.h"
#include "nas_message.h"
diff --git a/openair-cn/COMMON/s11_messages_def.h b/openair-cn/COMMON/s11_messages_def.h
deleted file mode 100644
index 3859ce7d62..0000000000
--- a/openair-cn/COMMON/s11_messages_def.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
-
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-//WARNING: Do not include this header directly. Use intertask_interface.h instead.
diff --git a/openair-cn/COMMON/s11_messages_types.h b/openair-cn/COMMON/s11_messages_types.h
deleted file mode 100644
index 62882569a0..0000000000
--- a/openair-cn/COMMON/s11_messages_types.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
-
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-#ifndef S11_MESSAGES_TYPES_H_
-#define S11_MESSAGES_TYPES_H_
-
-#endif /* S11_MESSAGES_TYPES_H_ */
diff --git a/openair-cn/COMMON/s1ap_messages_def.h b/openair-cn/COMMON/s1ap_messages_def.h
index 2e39e264b2..eeb48a64b0 100644
--- a/openair-cn/COMMON/s1ap_messages_def.h
+++ b/openair-cn/COMMON/s1ap_messages_def.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
//WARNING: Do not include this header directly. Use intertask_interface.h instead.
/* Messages for S1AP logging */
diff --git a/openair-cn/COMMON/s1ap_messages_types.h b/openair-cn/COMMON/s1ap_messages_types.h
index 23ff59a858..af45f57029 100644
--- a/openair-cn/COMMON/s1ap_messages_types.h
+++ b/openair-cn/COMMON/s1ap_messages_types.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
#ifndef S1AP_MESSAGES_TYPES_H_
#define S1AP_MESSAGES_TYPES_H_
diff --git a/openair-cn/COMMON/s6a_messages_def.h b/openair-cn/COMMON/s6a_messages_def.h
deleted file mode 100644
index db8284aed5..0000000000
--- a/openair-cn/COMMON/s6a_messages_def.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
-
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-//WARNING: Do not include this header directly. Use intertask_interface.h instead.
-MESSAGE_DEF(S6A_UPDATE_LOCATION_REQ, MESSAGE_PRIORITY_MED, s6a_update_location_req_t, s6a_update_location_req)
-MESSAGE_DEF(S6A_UPDATE_LOCATION_ANS, MESSAGE_PRIORITY_MED, s6a_update_location_ans_t, s6a_update_location_ans)
-MESSAGE_DEF(S6A_AUTH_INFO_REQ, MESSAGE_PRIORITY_MED, s6a_auth_info_req_t, s6a_auth_info_req)
-MESSAGE_DEF(S6A_AUTH_INFO_ANS, MESSAGE_PRIORITY_MED, s6a_auth_info_ans_t, s6a_auth_info_ans)
diff --git a/openair-cn/COMMON/s6a_messages_types.h b/openair-cn/COMMON/s6a_messages_types.h
deleted file mode 100644
index 0999afabbd..0000000000
--- a/openair-cn/COMMON/s6a_messages_types.h
+++ /dev/null
@@ -1,94 +0,0 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
-
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-#ifndef S6A_MESSAGES_TYPES_H_
-#define S6A_MESSAGES_TYPES_H_
-
-#define AUTS_LENGTH 14
-
-typedef struct s6a_update_location_req_s {
-#define SKIP_SUBSCRIBER_DATA (0x1)
- unsigned skip_subscriber_data:1;
-#define INITIAL_ATTACH (0x1)
- unsigned initial_attach:1;
-
- char imsi[IMSI_DIGITS_MAX + 1]; // username
- uint8_t imsi_length; // username
-
- plmn_t visited_plmn; // visited plmn id
- rat_type_t rat_type; // rat type
-
- // missing // origin host
- // missing // origin realm
-
- // missing // destination host
- // missing // destination realm
-} s6a_update_location_req_t;
-
-typedef struct s6a_update_location_ans_s {
- s6a_result_t result; // Result of the update location request procedure
- subscription_data_t subscription_data; // subscriber status,
- // Maximum Requested Bandwidth Uplink, downlink
- // access restriction data
- // msisdn
- apn_config_profile_t apn_config_profile;// APN configuration profile
-
- network_access_mode_t access_mode;
- rau_tau_timer_t rau_tau_timer;
- char imsi[IMSI_DIGITS_MAX + 1];
- uint8_t imsi_length;
-
-
-} s6a_update_location_ans_t;
-
-typedef struct s6a_auth_info_req_s {
- char imsi[IMSI_DIGITS_MAX + 1];
- uint8_t imsi_length;
- plmn_t visited_plmn;
- /* Number of vectors to retrieve from HSS, should be equal to one */
- uint8_t nb_of_vectors;
-
- /* Bit to indicate that USIM has requested a re-synchronization of SQN */
- unsigned re_synchronization:1;
- /* AUTS to provide to AUC.
- * Only present and interpreted if re_synchronization == 1.
- */
- uint8_t auts[AUTS_LENGTH];
-} s6a_auth_info_req_t;
-
-typedef struct s6a_auth_info_ans_s {
- char imsi[IMSI_DIGITS_MAX + 1];
- uint8_t imsi_length;
-
- /* Result of the authentication information procedure */
- s6a_result_t result;
- /* Authentication info containing the vector(s) */
- authentication_info_t auth_info;
-} s6a_auth_info_ans_t;
-
-#endif /* S6A_MESSAGES_TYPES_H_ */
diff --git a/openair-cn/COMMON/sctp_messages_def.h b/openair-cn/COMMON/sctp_messages_def.h
index 3b840f1bf6..e56598bc44 100644
--- a/openair-cn/COMMON/sctp_messages_def.h
+++ b/openair-cn/COMMON/sctp_messages_def.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
//WARNING: Do not include this header directly. Use intertask_interface.h instead.
MESSAGE_DEF(SCTP_INIT_MSG, MESSAGE_PRIORITY_MED, SctpInit, sctpInit)
diff --git a/openair-cn/COMMON/sctp_messages_types.h b/openair-cn/COMMON/sctp_messages_types.h
index ac991e2f07..5d1aef92ed 100644
--- a/openair-cn/COMMON/sctp_messages_types.h
+++ b/openair-cn/COMMON/sctp_messages_types.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
#ifndef SCTP_MESSAGES_TYPES_H_
#define SCTP_MESSAGES_TYPES_H_
diff --git a/openair-cn/COMMON/security_types.h b/openair-cn/COMMON/security_types.h
index debe695c90..3428b23e7a 100644
--- a/openair-cn/COMMON/security_types.h
+++ b/openair-cn/COMMON/security_types.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
#if HAVE_CONFIG_H
# include "config.h"
#endif
diff --git a/openair-cn/COMMON/sgw_lite_def.h b/openair-cn/COMMON/sgw_lite_def.h
deleted file mode 100644
index 3f1814b028..0000000000
--- a/openair-cn/COMMON/sgw_lite_def.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
-
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-MESSAGE_DEF(SGW_CREATE_SESSION_REQUEST, MESSAGE_PRIORITY_MED, SgwCreateSessionRequest, sgwCreateSessionRequest)
-MESSAGE_DEF(SGW_CREATE_SESSION_RESPONSE, MESSAGE_PRIORITY_MED, SgwCreateSessionResponse, sgwCreateSessionResponse)
-MESSAGE_DEF(SGW_MODIFY_BEARER_REQUEST, MESSAGE_PRIORITY_MED, SgwModifyBearerRequest, sgwModifyBearerRequest)
-MESSAGE_DEF(SGW_MODIFY_BEARER_RESPONSE, MESSAGE_PRIORITY_MED, SgwModifyBearerResponse, sgwModifyBearerResponse)
-MESSAGE_DEF(SGW_DELETE_SESSION_REQUEST, MESSAGE_PRIORITY_MED, SgwDeleteSessionRequest, sgwDeleteSessionRequest)
-MESSAGE_DEF(SGW_DELETE_SESSION_RESPONSE, MESSAGE_PRIORITY_MED, SgwDeleteSessionResponse, sgwDeleteSessionResponse)
-MESSAGE_DEF(SGW_RELEASE_ACCESS_BEARERS_REQUEST, MESSAGE_PRIORITY_MED, SgwReleaseAccessBearersRequest, sgwReleaseAccessBearersRequest)
-MESSAGE_DEF(SGW_RELEASE_ACCESS_BEARERS_RESPONSE, MESSAGE_PRIORITY_MED, SgwReleaseAccessBearersResponse, sgwReleaseAccessBearersResponse)
diff --git a/openair-cn/COMMON/sgw_lite_messages_types.h b/openair-cn/COMMON/sgw_lite_messages_types.h
deleted file mode 100644
index f83015b6bb..0000000000
--- a/openair-cn/COMMON/sgw_lite_messages_types.h
+++ /dev/null
@@ -1,928 +0,0 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
-
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
-
-
-/*! \file sgw_lite_messages_types.h
- * \brief S11 definitions for interaction between MME and S11
- * 3GPP TS 29.274.
- * Messages are the same as for GTPv2-C but here we abstract the UDP layer
- * \author Sebastien ROUX
- * \date 2013
- * \version 0.1
- */
-
-#include "../SGW-LITE/sgw_lite_ie_defs.h"
-
-#ifndef SGW_LITE_MESSAGES_TYPES_H_
-#define SGW_LITE_MESSAGES_TYPES_H_
-
-#define SGW_CREATE_SESSION_REQUEST(mSGpTR) (mSGpTR)->ittiMsg.sgwCreateSessionRequest
-#define SGW_CREATE_SESSION_RESPONSE(mSGpTR) (mSGpTR)->ittiMsg.sgwCreateSessionResponse
-#define SGW_MODIFY_BEARER_REQUEST(mSGpTR) (mSGpTR)->ittiMsg.sgwModifyBearerRequest
-#define SGW_MODIFY_BEARER_RESPONSE(mSGpTR) (mSGpTR)->ittiMsg.sgwModifyBearerResponse
-#define SGW_DELETE_SESSION_REQUEST(mSGpTR) (mSGpTR)->ittiMsg.sgwDeleteSessionRequest
-#define SGW_DELETE_SESSION_RESPONSE(mSGpTR) (mSGpTR)->ittiMsg.sgwDeleteSessionResponse
-#define SGW_RELEASE_ACCESS_BEARERS_REQUEST(mSGpTR) (mSGpTR)->ittiMsg.sgwReleaseAccessBearersRequest
-#define SGW_RELEASE_ACCESS_BEARERS_RESPONSE(mSGpTR) (mSGpTR)->ittiMsg.sgwReleaseAccessBearersResponse
-
-
-/** @struct SgwCreateSessionRequest
- * @brief Create Session Request
- *
- * Spec 3GPP TS 29.274, Universal Mobile Telecommunications System (UMTS);
- * LTE; 3GPP Evolved Packet System (EPS);
- * Evolved General Packet Radio Service (GPRS);
- * Tunnelling Protocol for Control plane (GTPv2-C); Stage 3
- * The Create Session Request will be sent on S11 interface as
- * part of these procedures:
- * - E-UTRAN Initial Attach
- * - UE requested PDN connectivity
- * - Tracking Area Update procedure with Serving GW change
- * - S1/X2-based handover with SGW change
- */
-typedef struct SgwCreateSessionRequest_s {
- Teid_t teid; ///< S11- S-GW Tunnel Endpoint Identifier
-
- Imsi_t imsi; ///< The IMSI shall be included in the message on the S4/S11
- ///< interface, and on S5/S8 interface if provided by the
- ///< MME/SGSN, except for the case:
- ///< - If the UE is emergency attached and the UE is UICCless.
- ///< The IMSI shall be included in the message on the S4/S11
- ///< interface, and on S5/S8 interface if provided by the
- ///< MME/SGSN, but not used as an identifier
- ///< - if UE is emergency attached but IMSI is not authenticated.
- ///< The IMSI shall be included in the message on the S2b interface.
-
- Msisdn_t msisdn; ///< For an E-UTRAN Initial Attach the IE shall be included
- ///< when used on the S11 interface, if provided in the
- ///< subscription data from the HSS.
- ///< For a PDP Context Activation procedure the IE shall be
- ///< included when used on the S4 interface, if provided in the
- ///< subscription data from the HSS.
- ///< The IE shall be included for the case of a UE Requested
- ///< PDN Connectivity, if the MME has it stored for that UE.
- ///< It shall be included when used on the S5/S8 interfaces if
- ///< provided by the MME/SGSN.
- ///< The ePDG shall include this IE on the S2b interface during
- ///< an Attach with GTP on S2b and a UE initiated Connectivity
- ///< to Additional PDN with GTP on S2b, if provided by the
- ///< HSS/AAA.
-
- Mei_t mei; ///< The MME/SGSN shall include the ME Identity (MEI) IE on
- ///< the S11/S4 interface:
- ///< - If the UE is emergency attached and the UE is UICCless
- ///< - If the UE is emergency attached and the IMSI is not authenticated
- ///< For all other cases the MME/SGSN shall include the ME
- ///< Identity (MEI) IE on the S11/S4 interface if it is available.
- ///< If the SGW receives this IE, it shall forward it to the PGW
- ///< on the S5/S8 interface.
-
- Uli_t uli; ///< This IE shall be included on the S11 interface for E-
- ///< UTRAN Initial Attach and UE-requested PDN Connectivity
- ///< procedures. It shall include ECGI&TAI. The MME/SGSN
- ///< shall also include it on the S11/S4 interface for
- ///< TAU/RAU/X2-Handover/Enhanced SRNS Relocation
- ///< procedure if the PGW has requested location information
- ///< change reporting and MME/SGSN support location
- ///< information change reporting. The SGW shall include this
- ///< IE on S5/S8 if it receives the ULI from MME/SGSN.
-
- ServingNetwork_t serving_network; ///< This IE shall be included on the S4/S11, S5/S8 and S2b
- ///< interfaces for an E-UTRAN initial attach, a PDP Context
- ///< Activation, a UE requested PDN connectivity, an Attach
- ///< with GTP on S2b, a UE initiated Connectivity to Additional
- ///< PDN with GTP on S2b and a Handover to Untrusted Non-
- ///< 3GPP IP Access with GTP on S2b.
-
- rat_type_t rat_type; ///< This IE shall be set to the 3GPP access type or to the
- ///< value matching the characteristics of the non-3GPP access
- ///< the UE is using to attach to the EPS.
- ///< The ePDG may use the access technology type of the
- ///< untrusted non-3GPP access network if it is able to acquire
- ///< it; otherwise it shall indicate Virtual as the RAT Type.
- ///< See NOTE 3, NOTE 4.
-
- indication_flags_t indication_flags; ///< This IE shall be included if any one of the applicable flags
- ///< is set to 1.
- ///< Applicable flags are:
- ///< - S5/S8 Protocol Type: This flag shall be used on
- ///< the S11/S4 interfaces and set according to the
- ///< protocol chosen to be used on the S5/S8
- ///< interfaces.
- ///<
- ///< - Dual Address Bearer Flag: This flag shall be used
- ///< on the S2b, S11/S4 and S5/S8 interfaces and shall
- ///< be set to 1 when the PDN Type, determined based
- ///< on UE request and subscription record, is set to
- ///< IPv4v6 and all SGSNs which the UE may be
- ///< handed over to support dual addressing. This shall
- ///< be determined based on node pre-configuration by
- ///< the operator.
- ///<
- ///< - Handover Indication: This flag shall be set to 1 on
- ///< the S11/S4 and S5/S8 interface during an E-
- ///< UTRAN Initial Attach or a UE Requested PDN
- ///< Connectivity or aPDP Context Activation procedure
- ///< if the PDN connection/PDP Context is handed-over
- ///< from non-3GPP access.
- ///< This flag shall be set to 1 on the S2b interface
- ///< during a Handover to Untrusted Non-3GPP IP
- ///< Access with GTP on S2b and IP address
- ///< preservation is requested by the UE.
- ///<
- ///< ....
- ///< - Unauthenticated IMSI: This flag shall be set to 1
- ///< on the S4/S11 and S5/S8 interfaces if the IMSI
- ///< present in the message is not authenticated and is
- ///< for an emergency attached UE.
-
- FTeid_t sender_fteid_for_cp; ///< Sender F-TEID for control plane (MME)
-
- FTeid_t pgw_address_for_cp; ///< PGW S5/S8 address for control plane or PMIP
- ///< This IE shall be sent on the S11 / S4 interfaces. The TEID
- ///< or GRE Key is set to "0" in the E-UTRAN initial attach, the
- ///< PDP Context Activation and the UE requested PDN
- ///< connectivity procedures.
-
- char apn[APN_MAX_LENGTH + 1]; ///< Access Point Name
-
- SelectionMode_t selection_mode; ///< Selection Mode
- ///< This IE shall be included on the S4/S11 and S5/S8
- ///< interfaces for an E-UTRAN initial attach, a PDP Context
- ///< Activation and a UE requested PDN connectivity.
- ///< This IE shall be included on the S2b interface for an Initial
- ///< Attach with GTP on S2b and a UE initiated Connectivity to
- ///< Additional PDN with GTP on S2b.
- ///< It shall indicate whether a subscribed APN or a non
- ///< subscribed APN chosen by the MME/SGSN/ePDG was
- ///< selected.
- ///< CO: When available, this IE shall be sent by the MME/SGSN on
- ///< the S11/S4 interface during TAU/RAU/HO with SGW
- ///< relocation.
-
- pdn_type_t pdn_type; ///< PDN Type
- ///< This IE shall be included on the S4/S11 and S5/S8
- ///< interfaces for an E-UTRAN initial attach, a PDP Context
- ///< Activation and a UE requested PDN connectivity.
- ///< This IE shall be set to IPv4, IPv6 or IPv4v6. This is based
- ///< on the UE request and the subscription record retrieved
- ///< from the HSS (for MME see 3GPP TS 23.401 [3], clause
- ///< 5.3.1.1, and for SGSN see 3GPP TS 23.060 [35], clause
- ///< 9.2.1). See NOTE 1.
-
- PAA_t paa; ///< PDN Address Allocation
- ///< This IE shall be included the S4/S11, S5/S8 and S2b
- ///< interfaces for an E-UTRAN initial attach, a PDP Context
- ///< Activation, a UE requested PDN connectivity, an Attach
- ///< with GTP on S2b, a UE initiated Connectivity to Additional
- ///< PDN with GTP on S2b and a Handover to Untrusted Non-
- ///< 3GPP IP Access with GTP on S2b. For PMIP-based
- ///< S5/S8, this IE shall also be included on the S4/S11
- ///< interfaces for TAU/RAU/Handover cases involving SGW
- ///< relocation.
- ///< The PDN type field in the PAA shall be set to IPv4, or IPv6
- ///< or IPv4v6 by MME, based on the UE request and the
- ///< subscription record retrieved from the HSS.
- ///< For static IP address assignment (for MME see 3GPP TS
- ///< 23.401 [3], clause 5.3.1.1, for SGSN see 3GPP TS 23.060
- ///< [35], clause 9.2.1, and for ePDG see 3GPP TS 23.402 [45]
- ///< subclause 4.7.3), the MME/SGSN/ePDG shall set the IPv4
- ///< address and/or IPv6 prefix length and IPv6 prefix and
- ///< Interface Identifier based on the subscribed values
- ///< received from HSS, if available. The value of PDN Type
- ///< field shall be consistent with the value of the PDN Type IE,
- ///< if present in this message.
- ///< For a Handover to Untrusted Non-3GPP IP Access with
- ///< GTP on S2b, the ePDG shall set the IPv4 address and/or
- ///< IPv6 prefix length and IPv6 prefix and Interface Identifier
- ///< based on the IP address(es) received from the UE.
- ///< If static IP address assignment is not used, and for
- ///< scenarios other than a Handover to Untrusted Non-3GPP
- ///< IP Access with GTP on S2b, the IPv4 address shall be set
- ///< to 0.0.0.0, and/or the IPv6 Prefix Length and IPv6 prefix
- ///< and Interface Identifier shall all be set to zero.
- ///<
- ///< CO: This IE shall be sent by the MME/SGSN on S11/S4
- ///< interface during TAU/RAU/HO with SGW relocation.
-
- // APN Restriction Maximum_APN_Restriction ///< This IE shall be included on the S4/S11 and S5/S8
- ///< interfaces in the E-UTRAN initial attach, PDP Context
- ///< Activation and UE Requested PDN connectivity
- ///< procedures.
- ///< This IE denotes the most stringent restriction as required
- ///< by any already active bearer context. If there are no
- ///< already active bearer contexts, this value is set to the least
- ///< restrictive type.
-
- ambr_t ambr; ///< Aggregate Maximum Bit Rate (APN-AMBR)
- ///< This IE represents the APN-AMBR. It shall be included on
- ///< the S4/S11, S5/S8 and S2b interfaces for an E-UTRAN
- ///< initial attach, UE requested PDN connectivity, the PDP
- ///< Context Activation procedure using S4, the PS mobility
- ///< from the Gn/Gp SGSN to the S4 SGSN/MME procedures,
- ///< Attach with GTP on S2b and a UE initiated Connectivity to
- ///< Additional PDN with GTP on S2b.
-
- // EBI Linked EPS Bearer ID ///< This IE shall be included on S4/S11 in RAU/TAU/HO
- ///< except in the Gn/Gp SGSN to MME/S4-SGSN
- ///< RAU/TAU/HO procedures with SGW change to identify the
- ///< default bearer of the PDN Connection
-
- pco_flat_t pco; /// PCO protocol_configuration_options
- ///< This IE is not applicable to TAU/RAU/Handover. If
- ///< MME/SGSN receives PCO from UE (during the attach
- ///< procedures), the MME/SGSN shall forward the PCO IE to
- ///< SGW. The SGW shall also forward it to PGW.
-
- bearer_to_create_t bearer_to_create; ///< Bearer Contexts to be created
- ///< Several IEs with the same type and instance value shall be
- ///< included on the S4/S11 and S5/S8 interfaces as necessary
- ///< to represent a list of Bearers. One single IE shall be
- ///< included on the S2b interface.
- ///< One bearer shall be included for an E-UTRAN Initial
- ///< Attach, a PDP Context Activation, a UE requested PDN
- ///< Connectivity, an Attach with GTP on S2b, a UE initiated
- ///< Connectivity to Additional PDN with GTP on S2b and a
- ///< Handover to Untrusted Non-3GPP IP Access with GTP on
- ///< S2b.
- ///< One or more bearers shall be included for a
- ///< Handover/TAU/RAU with an SGW change.
-
- ///bearer_to_remove_t bearer_to_remove; ///< This IE shall be included on the S4/S11 interfaces for the
- ///< TAU/RAU/Handover cases where any of the bearers
- ///< existing before the TAU/RAU/Handover procedure will be
- ///< deactivated as consequence of the TAU/RAU/Handover
- ///< procedure.
- ///< For each of those bearers, an IE with the same type and
- ///< instance value shall be included.
-
- // Trace Information trace_information ///< This IE shall be included on the S4/S11 interface if an
- ///< SGW trace is activated, and/or on the S5/S8 and S2b
- ///< interfaces if a PGW trace is activated. See 3GPP TS
- ///< 32.422 [18].
-
- // Recovery Recovery ///< This IE shall be included on the S4/S11, S5/S8 and S2b
- ///< interfaces if contacting the peer for the first time
-
- FQ_CSID_t mme_fq_csid; ///< This IE shall be included by the MME on the S11 interface
- ///< and shall be forwarded by an SGW on the S5/S8 interfaces
- ///< according to the requirements in 3GPP TS 23.007 [17].
-
- FQ_CSID_t sgw_fq_csid; ///< This IE shall included by the SGW on the S5/S8 interfaces
- ///< according to the requirements in 3GPP TS 23.007 [17].
-
- //FQ_CSID_t epdg_fq_csid; ///< This IE shall be included by the ePDG on the S2b interface
- ///< according to the requirements in 3GPP TS 23.007 [17].
-
- UETimeZone_t ue_time_zone; ///< This IE shall be included by the MME over S11 during
- ///< Initial Attach, UE Requested PDN Connectivity procedure.
- ///< This IE shall be included by the SGSN over S4 during PDP
- ///< Context Activation procedure.
- ///< This IE shall be included by the MME/SGSN over S11/S4
- ///< TAU/RAU/Handover with SGW relocation.
- ///< C: If SGW receives this IE, SGW shall forward it to PGW
- ///< across S5/S8 interface.
-
- UCI_t uci; ///< User CSG Information
- ///< CO This IE shall be included on the S4/S11 interface for E-
- ///< UTRAN Initial Attach, UE-requested PDN Connectivity and
- ///< PDP Context Activation using S4 procedures if the UE is
- ///< accessed via CSG cell or hybrid cell. The MME/SGSN
- ///< shall also include it for TAU/RAU/Handover procedures if
- ///< the PGW has requested CSG info reporting and
- ///< MME/SGSN support CSG info reporting. The SGW shall
- ///< include this IE on S5/S8 if it receives the User CSG
- ///< information from MME/SGSN.
-
- // Charging Characteristics
- // MME/S4-SGSN LDN
- // SGW LDN
- // ePDG LDN
- // Signalling Priority Indication
- // MMBR Max MBR/APN-AMBR
- // Private Extension
-
- /* S11 stack specific parameter. Not used in standalone epc mode */
- void *trxn; ///< Transaction identifier
- uint32_t peer_ip; ///< MME ipv4 address for S-GW or S-GW ipv4 address for MME
- uint16_t peer_port; ///< MME port for S-GW or S-GW port for MME
-} SgwCreateSessionRequest;
-
-/** @struct SgwCreateSessionResponse
- * @brief Create Session Response
- *
- * The Create Session Response will be sent on S11 interface as
- * part of these procedures:
- * - E-UTRAN Initial Attach
- * - UE requested PDN connectivity
- * - Tracking Area Update procedure with SGW change
- * - S1/X2-based handover with SGW change
- */
-typedef struct SgwCreateSessionResponse_s {
- Teid_t teid; ///< Tunnel Endpoint Identifier
-
- // here fields listed in 3GPP TS 29.274
- SGWCause_t cause; ///< If the SGW cannot accept any of the "Bearer Context Created" IEs within Create Session Request
- ///< message, the SGW shall send the Create Session Response with appropriate reject Cause value.
-
- // change_reporting_action ///< This IE shall be included on the S5/S8 and S4/S11
- ///< interfaces with the appropriate Action field if the location
- ///< Change Reporting mechanism is to be started or stopped
- ///< for this subscriber in the SGSN/MME.
-
- // csg_Information_reporting_action ///< This IE shall be included on the S5/S8 and S4/S11
- ///< interfaces with the appropriate Action field if the CSG Info
- ///< reporting mechanism is to be started or stopped for this
- ///< subscriber in the SGSN/MME.
-
- FTeid_t s11_sgw_teid; ///< Sender F-TEID for control plane
- ///< This IE shall be sent on the S11/S4 interfaces. For the
- ///< S5/S8/S2b interfaces it is not needed because its content
- ///< would be identical to the IE PGW S5/S8/S2b F-TEID for
- ///< PMIP based interface or for GTP based Control Plane
- ///< interface.
-
- FTeid_t s5_s8_pgw_teid; ///< PGW S5/S8/S2b F-TEID for PMIP based interface or for GTP based Control Planeinterface
- ///< PGW shall include this IE on the S5/S8 interfaces during
- ///< the Initial Attach, UE requested PDN connectivity and PDP
- ///< Context Activation procedures.
- ///< If SGW receives this IE it shall forward the IE to MME/S4-
- ///< SGSN on S11/S4 interface.
- ///< This IE shall include the TEID in the GTP based S5/S8
- ///< case and the GRE key in the PMIP based S5/S8 case.
- ///< In PMIP based S5/S8 case, same IP address is used for
- ///< both control plane and the user plane communication.
- ///<
- ///< PGW shall include this IE on the S2b interface during the
- ///< Attach with GTP on S2b, UE initiated Connectivity to
- ///< Additional PDN with GTP on S2b and Handover to
- ///< Untrusted Non-3GPP IP Access with GTP on S2b
- ///< procedures.
-
-
- PAA_t paa; ///< PDN Address Allocation
- ///< This IE shall be included on the S5/S8, S4/S11 and S2b
- ///< interfaces for the E-UTRAN initial attach, PDP Context
- ///< Activation, UE requested PDN connectivity, Attach with
- ///< GTP on S2b, UE initiated Connectivity to Additional PDN
- ///< with GTP on S2b and Handover to Untrusted Non-3GPP IP
- ///< Access with GTP on S2b procedures.
- ///< The PDN type field in the PAA shall be set to IPv4, or IPv6
- ///< or IPv4v6 by the PGW.
- ///< For the interfaces other than S2b, if the DHCPv4 is used
- ///< for IPv4 address allocation, the IPv4 address field shall be
- ///< set to 0.0.0.0.
-
- APNRestriction_t apn_restriction; ///< This IE shall be included on the S5/S8 and S4/S11
- ///< interfaces in the E-UTRAN initial attach, PDP Context
- ///< Activation and UE Requested PDN connectivity
- ///< procedures.
- ///< This IE shall also be included on S4/S11 during the Gn/Gp
- ///< SGSN to S4 SGSN/MME RAU/TAU procedures.
- ///< This IE denotes the restriction on the combination of types
- ///< of APN for the APN associated with this EPS bearer
- ///< Context.
-
- ambr_t ambr; ///< Aggregate Maximum Bit Rate (APN-AMBR)
- ///< This IE represents the APN-AMBR. It shall be included on
- ///< the S5/S8, S4/S11 and S2b interfaces if the received APN-
- ///< AMBR has been modified by the PCRF.
-
- // EBI Linked EPS Bearer ID ///< This IE shall be sent on the S4/S11 interfaces during
- ///< Gn/Gp SGSN to S4-SGSN/MME RAU/TAU procedure to
- ///< identify the default bearer the PGW selects for the PDN
- ///< Connection.
-
- pco_flat_t pco;// PCO protocol_configuration_options
- ///< This IE is not applicable for TAU/RAU/Handover. If PGW
- ///< decides to return PCO to the UE, PGW shall send PCO to
- ///< SGW. If SGW receives the PCO IE, SGW shall forward it
- ///< MME/SGSN.
-
- bearer_context_created_t bearer_context_created;///< EPS bearers corresponding to Bearer Contexts sent in
- ///< request message. Several IEs with the same type and
- ///< instance value may be included on the S5/S8 and S4/S11
- ///< as necessary to represent a list of Bearers. One single IE
- ///< shall be included on the S2b interface.
- ///< One bearer shall be included for E-UTRAN Initial Attach,
- ///< PDP Context Activation or UE Requested PDN
- ///< Connectivity , Attach with GTP on S2b, UE initiated
- ///< Connectivity to Additional PDN with GTP on S2b, and
- ///< Handover to Untrusted Non-3GPP IP Access with GTP on
- ///< S2b.
- ///< One or more created bearers shall be included for a
- ///< Handover/TAU/RAU with an SGW change. See NOTE 2.
-
- // Bearer_Context bearer_contexts_marked_for_removal ///< EPS bearers corresponding to Bearer Contexts to be
- ///< removed that were sent in the Create Session Request
- ///< message.
- ///< For each of those bearers an IE with the same type and
- ///< instance value shall be included on the S4/S11 interfaces.
-
- // Recovery Recovery ///< This IE shall be included on the S4/S11, S5/S8 and S2b
- ///< interfaces if contacting the peer for the first time
-
- // FQDN charging_Gateway_name ///< When Charging Gateway Function (CGF) Address is
- ///< configured, the PGW shall include this IE on the S5
- ///< interface.
- ///< NOTE 1: Both Charging Gateway Name and Charging Gateway Address shall not be included at the same
- ///< time. When both are available, the operator configures a preferred value.
-
- // IP Address charging_Gateway_address ///< When Charging Gateway Function (CGF) Address is
- ///< configured, the PGW shall include this IE on the S5
- ///< interface. See NOTE 1.
-
-
- FQ_CSID_t pgw_fq_csid; ///< This IE shall be included by the PGW on the S5/S8 and
- ///< S2b interfaces and, when received from S5/S8 be
- ///< forwarded by the SGW on the S11 interface according to
- ///< the requirements in 3GPP TS 23.007 [17].
-
- FQ_CSID_t sgw_fq_csid; ///< This IE shall be included by the SGW on the S11 interface
- ///< according to the requirements in 3GPP TS 23.007 [17].
-
- // Local Distinguished Name (LDN) SGW LDN ///< This IE is optionally sent by the SGW to the MME/SGSN
- ///< on the S11/S4 interfaces (see 3GPP TS 32.423 [44]),
- ///< when contacting the peer node for the first time.
- ///< Also:
- ///< This IE is optionally sent by the SGW to the MME/SGSN
- ///< on the S11/S4 interfaces (see 3GPP TS 32.423 [44]),
- ///< when communicating the LDN to the peer node for the first
- ///< time.
-
- // Local Distinguished Name (LDN) PGW LDN ///< This IE is optionally included by the PGW on the S5/S8
- ///< and S2b interfaces (see 3GPP TS 32.423 [44]), when
- ///< contacting the peer node for the first time.
- ///< Also:
- ///< This IE is optionally included by the PGW on the S5/S8
- ///< interfaces (see 3GPP TS 32.423 [44]), when
- ///< communicating the LDN to the peer node for the first time.
-
- // EPC_Timer pgw_back_off_time ///< This IE may be included on the S5/S8 and S4/S11
- ///< interfaces when the PDN GW rejects the Create Session
- ///< Request with the cause "APN congestion". It indicates the
- ///< time during which the MME or S4-SGSN should refrain
- ///< from sending subsequent PDN connection establishment
- ///< requests to the PGW for the congested APN for services
- ///< other than Service Users/emergency services.
- ///< See NOTE 3:
- ///< The last received value of the PGW Back-Off Time IE shall supersede any previous values received
- ///< from that PGW and for this APN in the MME/SGSN.
-
- // Private Extension ///< This IE may be sent on the S5/S8, S4/S11 and S2b
- ///< interfaces.
-
- /* S11 stack specific parameter. Not used in standalone epc mode */
- void *trxn; ///< Transaction identifier
- uint32_t peer_ip; ///< MME ipv4 address
-} SgwCreateSessionResponse;
-
-/** @struct SgwModifyBearerRequest
- * @brief Modify Bearer Request
- *
- * The Modify Bearer Request will be sent on S11 interface as
- * part of these procedures:
- * - E-UTRAN Tracking Area Update without SGW Change
- * - UE triggered Service Request
- * - S1-based Handover
- * - E-UTRAN Initial Attach
- * - UE requested PDN connectivity
- * - X2-based handover without SGWrelocation
- */
-typedef struct SgwModifyBearerRequest_s {
- Teid_t teid; ///< S11 SGW Tunnel Endpoint Identifier
-
- // MEI ME Identity (MEI) ///< C:This IE shall be sent on the S5/S8 interfaces for the Gn/Gp
- ///< SGSN to MME TAU.
-
- Uli_t uli; ///< C: The MME/SGSN shall include this IE for
- ///< TAU/RAU/Handover procedures if the PGW has requested
- ///< location information change reporting and MME/SGSN
- ///< support location information change reporting.
- ///< An MME/SGSN which supports location information
- ///< change shall include this IE for UE-initiated Service
- ///< Request procedure if the PGW has requested location
- ///< information change reporting and the UE’s location info
- ///< has changed.
- ///< The SGW shall include this IE on S5/S8 if it receives the
- ///< ULI from MME/SGSN.
- ///< CO:This IE shall also be included on the S4/S11 interface for a
- ///< TAU/RAU/Handover with MME/SGSN change without
- ///< SGW change procedure, if the level of support (User
- ///< Location Change Reporting and/or CSG Information
- ///< Change Reporting) changes the MME shall include the
- ///< ECGI/TAI in the ULI, the SGSN shall include the CGI/SAI
- ///< in the ULI.
- ///< The SGW shall include this IE on S5/S8 if it receives the
- ///< ULI from MME/SGSN.
-
- ServingNetwork_t serving_network; ///< CO:This IE shall be included on S11/S4 interface during the
- ///< following procedures:
- ///< - TAU/RAU/handover if Serving Network is changed.
- ///< - TAU/RAU when the UE was ISR activated which is
- ///< indicated by ISRAU flag.
- ///< - UE triggered Service Request when UE is ISR
- ///< activated.
- ///< - UE initiated Service Request if ISR is not active, but
- ///< the Serving Network has changed during previous
- ///< mobility procedures, i.e. intra MME/S4-SGSN
- ///< TAU/RAU and the change has not been reported to
- ///< the PGW yet.
- ///< - TAU/RAU procedure as part of the optional network
- ///< triggered service restoration procedure with ISR, as
- ///< specified by 3GPP TS 23.007 [17].
- ///<
- ///< CO:This IE shall be included on S5/S8 if the SGW receives this
- ///< IE from MME/SGSN and if ISR is not active.
- ///< This IE shall be included on S5/S8 if the SGW receives this
- ///< IE from MME/SGSN and ISR is active and the Modify
- ///< Bearer Request message needs to be sent to the PGW as
- ///< specified in the 3GPP TS 23.401 [3].
-
- rat_type_t rat_type; ///< C: This IE shall be sent on the S11 interface for a TAU with
- ///< an SGSN interaction, UE triggered Service Request or an I-
- ///< RAT Handover.
- ///< This IE shall be sent on the S4 interface for a RAU with
- ///< MME interaction, a RAU with an SGSN change, a UE
- ///< Initiated Service Request or an I-RAT Handover.
- ///< This IE shall be sent on the S5/S8 interface if the RAT type
- ///< changes.
- ///< CO: CO If SGW receives this IE from MME/SGSN during a
- ///< TAU/RAU/Handover with SGW change procedure, the
- ///< SGW shall forward it across S5/S8 interface to PGW.
- ///< CO: The IE shall be sent on the S11/S4 interface during the
- ///< following procedures:
- ///< - an inter MM TAU or inter SGSN RAU when UE was
- ///< ISR activated which is indicated by ISRAU flag.
- ///< - TAU/RAU procedure as part of optional network
- ///< triggered service restoration procedure with ISR, as
- ///< specified by 3GPP TS 23.007 [17].
- ///< If ISR is active, this IE shall also be included on the S11
- ///< interface in the S1-U GTP-U tunnel setup procedure during
- ///< an intra-MME intra-SGW TAU procedure.
-
- indication_flags_t indication_flags; ///< C:This IE shall be included if any one of the applicable flags
- ///< is set to 1.
- ///< Applicable flags are:
- ///< -ISRAI: This flag shall be used on S4/S11 interface
- ///< and set to 1 if the ISR is established between the
- ///< MME and the S4 SGSN.
- ///< - Handover Indication: This flag shall be set to 1 on
- ///< the S4/S11 and S5/S8 interfaces during an E-
- ///< UTRAN Initial Attach or for a UE Requested PDN
- ///< Connectivity or a PDP Context Activation
- ///< procedure, if the PDN connection/PDP context is
- ///< handed-over from non-3GPP access.
- ///< - Direct Tunnel Flag: This flag shall be used on the
- ///< S4 interface and set to 1 if Direct Tunnel is used.
- ///< - Change Reporting support Indication: shall be
- ///< used on S4/S11, S5/S8 and set if the SGSN/MME
- ///< supports location Info Change Reporting. This flag
- ///< should be ignored by SGW if no message is sent
- ///< on S5/S8. See NOTE 4.
- ///< - CSG Change Reporting Support Indication: shall
- ///< be used on S4/S11, S5/S8 and set if the
- ///< SGSN/MME supports CSG Information Change
- ///< Reporting. This flag shall be ignored by SGW if no
- ///< message is sent on S5/S8. See NOTE 4.
- ///< - Change F-TEID support Indication: This flag shall
- ///< be used on S4/S11 for an IDLE state UE initiated
- ///< TAU/RAU procedure and set to 1 to allow the
- ///< SGW changing the GTP-U F-TEID.
-
- FTeid_t sender_fteid_for_cp; ///< C: Sender F-TEID for control plane
- ///< This IE shall be sent on the S11 and S4 interfaces for a
- ///< TAU/RAU/ Handover with MME/SGSN change and without
- ///< any SGW change.
- ///< This IE shall be sent on the S5 and S8 interfaces for a
- ///< TAU/RAU/Handover with a SGW change.
-
- ambr_t apn_ambr; ///< C: Aggregate Maximum Bit Rate (APN-AMBR)
- ///< The APN-AMBR shall be sent for the PS mobility from the
- ///< Gn/Gp SGSN to the S4 SGSN/MME procedures..
-
- /* Delay Value in integer multiples of 50 millisecs, or zero */
- DelayValue_t delay_dl_packet_notif_req; ///.
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
// This task is mandatory and must always be placed in first position
TASK_DEF(TASK_TIMER, TASK_PRIORITY_MED, 10)
diff --git a/openair-cn/COMMON/udp_messages_def.h b/openair-cn/COMMON/udp_messages_def.h
index 809e31bab2..551788a2bb 100644
--- a/openair-cn/COMMON/udp_messages_def.h
+++ b/openair-cn/COMMON/udp_messages_def.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
MESSAGE_DEF(UDP_INIT, MESSAGE_PRIORITY_MED, udp_init_t, udp_init)
MESSAGE_DEF(UDP_DATA_REQ, MESSAGE_PRIORITY_MED, udp_data_req_t, udp_data_req)
MESSAGE_DEF(UDP_DATA_IND, MESSAGE_PRIORITY_MED, udp_data_ind_t, udp_data_ind)
diff --git a/openair-cn/COMMON/udp_messages_types.h b/openair-cn/COMMON/udp_messages_types.h
index 464d1575b1..a44ab44c16 100644
--- a/openair-cn/COMMON/udp_messages_types.h
+++ b/openair-cn/COMMON/udp_messages_types.h
@@ -1,31 +1,32 @@
-/*******************************************************************************
- OpenAirInterface
- Copyright(c) 1999 - 2014 Eurecom
+/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
- OpenAirInterface is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
-
- OpenAirInterface is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with OpenAirInterface.The full GNU General Public License is
- included in this distribution in the file called "COPYING". If not,
- see .
-
- Contact Information
- OpenAirInterface Admin: openair_admin@eurecom.fr
- OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
-
- Address : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-
- *******************************************************************************/
#ifndef UDP_MESSAGES_TYPES_H_
#define UDP_MESSAGES_TYPES_H_
diff --git a/openair-cn/ChangeLog b/openair-cn/ChangeLog
deleted file mode 100644
index 0db17ac628..0000000000
--- a/openair-cn/ChangeLog
+++ /dev/null
@@ -1,15 +0,0 @@
-v0.1:
-- Build system
-- SCTP layer v0.1
-- S1AP layer v0.1
-v0.2:
-- Updated S1AP messages to RELEASE9 v9.8
-- S1-U layer using nw-gtpv1u
-v0.3:
-- Updated S1AP messages to RELEASE10 v10.5
-- Added NAS interface
-- Added MME APPlication
-- Converted sctp_bind to sctp_bindx for multi-homing support
-- Added configuration file parsing
-- S6a layer v0.1 using freeDiameter
-- KeNB key derivy function
\ No newline at end of file
diff --git a/openair-cn/DOCS/DOXYGEN/Makefile.am b/openair-cn/DOCS/DOXYGEN/Makefile.am
index 31f49b260d..f80ebfdfe0 100644
--- a/openair-cn/DOCS/DOXYGEN/Makefile.am
+++ b/openair-cn/DOCS/DOXYGEN/Makefile.am
@@ -21,7 +21,7 @@
# Contact Information
# OpenAirInterface Admin: openair_admin@eurecom.fr
# OpenAirInterface Tech : openair_tech@eurecom.fr
-# OpenAirInterface Dev : openair4g-devel@eurecom.fr
+# OpenAirInterface Dev : openair4g-devel@lists.eurecom.fr
#
# Address : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
#
diff --git a/openair-cn/DOCS/EPC_User_Guide.docx b/openair-cn/DOCS/EPC_User_Guide.docx
deleted file mode 100644
index b9cca8254c..0000000000
Binary files a/openair-cn/DOCS/EPC_User_Guide.docx and /dev/null differ
diff --git a/openair-cn/DOCS/EPC_User_Guide.pdf b/openair-cn/DOCS/EPC_User_Guide.pdf
deleted file mode 100644
index 6b8a476bad..0000000000
Binary files a/openair-cn/DOCS/EPC_User_Guide.pdf and /dev/null differ
diff --git a/openair-cn/DOCS/Latex/EPC/Makefile b/openair-cn/DOCS/Latex/EPC/Makefile
index 4c218c90fb..a29da4a53c 100644
--- a/openair-cn/DOCS/Latex/EPC/Makefile
+++ b/openair-cn/DOCS/Latex/EPC/Makefile
@@ -21,7 +21,7 @@
# Contact Information
# OpenAirInterface Admin: openair_admin@eurecom.fr
# OpenAirInterface Tech : openair_tech@eurecom.fr
-# OpenAirInterface Dev : openair4g-devel@eurecom.fr
+# OpenAirInterface Dev : openair4g-devel@lists.eurecom.fr
#
# Address : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
#
diff --git a/openair-cn/DOCS/Makefile.am b/openair-cn/DOCS/Makefile.am
index 4f16edea72..daf460186f 100644
--- a/openair-cn/DOCS/Makefile.am
+++ b/openair-cn/DOCS/Makefile.am
@@ -21,7 +21,7 @@
# Contact Information
# OpenAirInterface Admin: openair_admin@eurecom.fr
# OpenAirInterface Tech : openair_tech@eurecom.fr
-# OpenAirInterface Dev : openair4g-devel@eurecom.fr
+# OpenAirInterface Dev : openair4g-devel@lists.eurecom.fr
#
# Address : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
#
diff --git a/openair-cn/GTPV1-U/GTPU_SP/COPYING b/openair-cn/GTPV1-U/GTPU_SP/COPYING
deleted file mode 100755
index d511905c16..0000000000
--- a/openair-cn/GTPV1-U/GTPU_SP/COPYING
+++ /dev/null
@@ -1,339 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users. This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it. (Some other Free Software Foundation software is covered by
-the GNU Lesser General Public License instead.) You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
- To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have. You must make sure that they, too, receive or can get the
-source code. And you must show them these terms so they know their
-rights.
-
- We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
- Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software. If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
- Finally, any free program is threatened constantly by software
-patents. We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary. To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- GNU GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License. The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language. (Hereinafter, translation is included without limitation in
-the term "modification".) Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
- 1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
- 2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) You must cause the modified files to carry prominent notices
- stating that you changed the files and the date of any change.
-
- b) You must cause any work that you distribute or publish, that in
- whole or in part contains or is derived from the Program or any
- part thereof, to be licensed as a whole at no charge to all third
- parties under the terms of this License.
-
- c) If the modified program normally reads commands interactively
- when run, you must cause it, when started running for such
- interactive use in the most ordinary way, to print or display an
- announcement including an appropriate copyright notice and a
- notice that there is no warranty (or else, saying that you provide
- a warranty) and that users may redistribute the program under
- these conditions, and telling the user how to view a copy of this
- License. (Exception: if the Program itself is interactive but
- does not normally print such an announcement, your work based on
- the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
- a) Accompany it with the complete corresponding machine-readable
- source code, which must be distributed under the terms of Sections
- 1 and 2 above on a medium customarily used for software interchange; or,
-
- b) Accompany it with a written offer, valid for at least three
- years, to give any third party, for a charge no more than your
- cost of physically performing source distribution, a complete
- machine-readable copy of the corresponding source code, to be
- distributed under the terms of Sections 1 and 2 above on a medium
- customarily used for software interchange; or,
-
- c) Accompany it with the information you received as to the offer
- to distribute corresponding source code. (This alternative is
- allowed only for noncommercial distribution and only if you
- received the program in object code or executable form with such
- an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it. For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable. However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
- 4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License. Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
- 5. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Program or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
- 6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
- 7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all. For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
- 8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded. In such case, this License incorporates
-the limitation as if written in the body of this License.
-
- 9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation. If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
- 10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission. For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this. Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
- NO WARRANTY
-
- 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
- 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-
- Copyright (C)
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
- Gnomovision version 69, Copyright (C) year name of author
- Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary. Here is a sample; alter the names:
-
- Yoyodyne, Inc., hereby disclaims all copyright interest in the program
- `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
- , 1 April 1989
- Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs. If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library. If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.
diff --git a/openair-cn/GTPV1-U/GTPU_SP/INSTALL b/openair-cn/GTPV1-U/GTPU_SP/INSTALL
deleted file mode 100755
index 0de93a937c..0000000000
--- a/openair-cn/GTPV1-U/GTPU_SP/INSTALL
+++ /dev/null
@@ -1,33 +0,0 @@
-How to build
-------------
-
-1. Extract the files in a location of your choice. The
- Files will be extracted in a directory called gtpu.
-
-2. cd /gtpu.
-
-3. make
-
-If make is successful, the binary files (libxt_GTPU.so and xt_GTPU.ko)
-will be created in the Bin folder.
-
-
-How to install
---------------
-There is no "make install" as that will be difficult to support all
-possible Linux distro. The cmd.sh file demonstrates how to install
-the two binary files in the system.
-
-
-In case of problem:
- - check you got the last release of the library (see README),
- - contact the mailing list (see README),
- - check the bugtracker for known bugs (see README).
-
-
-Documentation
--------------
-Please have a look at the "Architecture" section in the README.
-
-
-
diff --git a/openair-cn/GTPV1-U/GTPU_SP/Makefile b/openair-cn/GTPV1-U/GTPU_SP/Makefile
deleted file mode 100755
index f8b59266e1..0000000000
--- a/openair-cn/GTPV1-U/GTPU_SP/Makefile
+++ /dev/null
@@ -1,104 +0,0 @@
-####################################################################################
-# Makefile for iptables extension for the GTPUSP target and GTPUSP klm
-#
-# Copyright (c) 2010-2011 Polaris Networks
-# Author: Pradip Biswas
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License version 2 as
-# published by the Free Software Foundation.
-#
-####################################################################################
-
-export BIN_DIR ?= $(shell pwd)/Bin
-KVERSION = $(shell uname -r)
-KVERSION_LAST_DIGIT = $(shell echo ${KVERSION} | cut -d "." -f 3 | cut -d "-" -f 1)
-
-obj-m = xt_GTPUSP.o
-EXTRA_CFLAGS += -DKVERSION=$(KVERSION_LAST_DIGIT)
-
-all: xtlib
- echo "Building for Kernel Version: $(KVERSION_LAST_DIGIT)"
- make -C /lib/modules/$(KVERSION)/build M=$(PWD) modules
- chmod 777 xt_GTPUSP.ko
- mv xt_GTPUSP.ko $(BIN_DIR)/
-
-clean: libclean
- make -C /lib/modules/$(KVERSION)/build M=$(PWD) clean
-
-################################################################################
-# The next section is used by libxt_GTPUSP
-################################################################################
-
-XT_IPTABLES_VERSION = $(shell /sbin/iptables -V | cut -d " " -f 2 | cut -b 2-)
-IPT_FIRST_NUM = $(shell echo ${XT_IPTABLES_VERSION} | cut -d "." -f 1 | cut -d "-" -f 1)
-IPT_SECOND_NUM = $(shell echo ${XT_IPTABLES_VERSION} | cut -d "." -f 2 | cut -d "-" -f 1)
-IPT_THIRD_NUM = $(shell echo ${XT_IPTABLES_VERSION} | cut -d "." -f 3 | cut -d "-" -f 1)
-IPTVERSION = $(IPT_FIRST_NUM)$(IPT_SECOND_NUM)$(IPT_THIRD_NUM)
-IPTABLES_VERSION_STRING = \"$(IPT_FIRST_NUM).$(IPT_SECOND_NUM).$(IPT_THIRD_NUM)\"
-
-LIB_CC := gcc
-
-ifeq ($(IPTVERSION), 135)
- LIB_LD := ld
-else
- LIB_LD := gcc
-endif
-
-LIB_CFLAGS := -fPIC -Wall -MMD -D_LARGEFILE_SOURCE=1 -D_LARGE_FILES -D_FILE_OFFSET_BITS=64 \
- -D_REENTRANT -pipe -DXTABLES_LIBDIR=\"/usr/local/libexec/xtables\" -DXTABLES_INTERNAL \
- -D_INIT=libxt_GTPUSP_init -DPIC -fPIC -O2 \
- -DIPTVERSION=$(IPTVERSION) \
- -DIPTABLES_VERSION_STRING=$(IPTABLES_VERSION_STRING)
-
-XT_TARGET := xt_GTPUSP
-XT_LIBNAME := lib$(XT_TARGET).so
-XT_BUILD_DIR = $(BIN_DIR)/$(XT_TARGET)
-
-# Get the system distribution type
-IsDebian=$(shell /bin/cat /proc/version | grep -i -e ubuntu -e debian)
-IsRedHat=$(shell /bin/cat /proc/version | grep -i -e centos -e "red hat" -e suse -e fedora)
-
-# Change the ipq library name for 64-bit Debian-based distributions
-ifeq ($(X86_64),x86_64)
- ifneq ($(strip $(IsDebian)),)
- LIB_IPQ=_pic
- endif
-endif
-
-INCLUDE_DIR = -I. \
- -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include \
- -I/usr/lib64/glib-2.0/include
-
-XT_SOURCES = libxt_GTPUSP.c
-
-XT_OBJECTS := $(addprefix $(XT_BUILD_DIR)/, $(notdir $(XT_SOURCES:.c=.o)))
-
-xtlib: XT
-
-XT: DF = $(XT_BUILD_DIR)/$(*F)
-XT: $(XT_BUILD_DIR) $(BIN_DIR)/$(XT_LIBNAME)
-
--include $(addprefix $(XT_BUILD_DIR)/, $(notdir $(XT_SOURCES:.c=.P)))
-
-$(XT_BUILD_DIR):
- @echo Build Directory is $@
- @if [ ! -d $(BIN_DIR) ]; then mkdir $(BIN_DIR); fi
- @if [ ! -d $@ ]; then mkdir $@; fi
-
-$(BIN_DIR)/$(XT_LIBNAME): $(XT_OBJECTS)
- @echo Linking $@
- @$(LIB_LD) -shared $(XT_OBJECTS) -o $@
-
-$(XT_BUILD_DIR)/%.o : %.c
- @echo "Building GTPUSP ext for version $(IPTVERSION) $(IPTABLES_VERSION_STRING)"
- @echo Compiling $<
- @$(LIB_CC) $(LIB_CFLAGS) -MF $(DF).d $(INCLUDE_DIR) -o $@ -c $<
- @cp $(DF).d $(DF).P; \
- sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
- -e '/^$$/ d' -e 's/$$/ :/' < $(DF).d >> $(DF).P; \
- rm -f $(DF).d
-
-libclean:
- @rm -rf $(BIN_DIR)/$(XT_LIBNAME) $(XT_BUILD_DIR)
-
diff --git a/openair-cn/GTPV1-U/GTPU_SP/README b/openair-cn/GTPV1-U/GTPU_SP/README
deleted file mode 100755
index f29b8421c3..0000000000
--- a/openair-cn/GTPV1-U/GTPU_SP/README
+++ /dev/null
@@ -1,80 +0,0 @@
-Introduction
-------------
-This piece of software implementes GPRS Tunneling Protocol (GTP) for user plane.
-The software has two components - one is the extension of iptables that
-run in user-space. The other is the counterpart of the iptables extension
-that runs in kernel space.
-
-
-License
--------
-The project is licensed under GPL2+, see the COPYING and AUTHORS files for more
-details.
-
-
-Architecture
-------------
-The GTPu tunneling is handled in two parts. The first part is the user-space
-iptables target extension library (let's call it libxt). The second
-part is the GTPu kernel loadable module (let's call it gtpu). The way it
-is, once the user configures a GTPu tunnel attributes using iptables, the klm
-is loaded by the kernel automatically and handles the IP packets according to
-the GTPu tunnel attributes set by the user.
-
-The user can set the action to be taken on a matching IP packet. The action can be
-either of "add", "remove" or "transport" .
-
-A GTPu tunnel has the following attributes:
- - own IP address
- - own GTPu tunnel id
- - peer's IP address
- - peer's GTPu tunnel id
-
-The GTPU target is designed to work only on mangle table. Also, the user is
-expected to add GTPU target to the PREROUTING chain, as the GTPU target will
-modify the original IP packet before it is routed.
-
-Once the user creates the rule in iptables, the matching IP packets go through
-the gtpu klm, which acts upon the IP packet according to the action set by the
-user. The action "Add" means the klm will add a GTPu header to the IP packet.
-"Remove" will remove the GTPu header from the IP packet and "Transport" will
-do a Remove first followed by an "Add" on the IP packet.
-
-For example, consider the following command:
-
-iptables -t mangle -A PREROUTING -d 10.10.10.1 -j GTPU --own-ip 192.168.0.98 --own-tun 100 --peer-ip 192.168.0.109 --peer-tun 101 --action add
-
-This command will configure the system to add a GTPu header to any IP packet destined to 10.10.10.1.
-The source IP address outer IP will be 192.168.0.109, the dest IP will be 192.168.0.98 and
-the destination GTP tunnel id will be 101.
-
-Similarly, consider the following command:
-
-iptables -t mangle -A PREROUTING -s 192.168.0.109 -d 192.168.0.98 -p udp --dport 2152 -j GTPU --action remove
-
-This command will process all the GTPu packets coming from 192.168.0.109 to 192.168.0.98 to
-strip the GTPu header and forward the inner IP packet to the kernel's routing engine.
-
-
-Files
----------
-There are two source C files and one header file:
- - libxt_GTPU.c : source file for iptables GTPU extension library (libxt)
- - xt_GTPU.c : source file for gtpu kernel loadable module (klm)
- - xt_GTPU.h : common header file, shared between the libxt and the klm
- - Makefile : Makefile to build both the libxt and the klm
- - cmd.sh : sample cmd file to show how the binaries can be used
-
-See the INSTALL file to learn how to build the binaries.
-
-
-References
-----------
-3GPP TS 29.281 General Packet Radio System (GPRS)
- Tunnelling Protocol User Plane (GTP-u)
-
-
-Authors
--------
-Pradip Biswas
-
diff --git a/openair-cn/GTPV1-U/GTPU_SP/RELEASE_NOTES b/openair-cn/GTPV1-U/GTPU_SP/RELEASE_NOTES
deleted file mode 100755
index 022846fcd5..0000000000
--- a/openair-cn/GTPV1-U/GTPU_SP/RELEASE_NOTES
+++ /dev/null
@@ -1,6 +0,0 @@
-
-Known issues in GTPU v1.0
--------------------------
-
-1. Does not implement the "Transport" action.
-
diff --git a/openair-cn/GTPV1-U/GTPU_SP/cmd.sh b/openair-cn/GTPV1-U/GTPU_SP/cmd.sh
deleted file mode 100755
index 428b5b155a..0000000000
--- a/openair-cn/GTPV1-U/GTPU_SP/cmd.sh
+++ /dev/null
@@ -1,18 +0,0 @@
-# Clear the iptables mangle table
-iptables -t mangle -F
-
-# Remove GTPU KLM
-rmmod xt_GTPUSP
-
-# Insert the GTPUSP KLM
-insmod ./Bin/xt_GTPUSP.ko
-
-# Copy the userland iptables extenstion library
-if [ -d /lib/xtables ]; then
- /bin/cp -f ./Bin/libxt_GTPUSP.so /lib/xtables/
-fi
-
-if [ -d /lib/iptables ]; then
- /bin/cp -f ./Bin/libxt_GTPUSP.so /lib/iptables/libipt_GTPUSP.so
-fi
-
diff --git a/openair-cn/GTPV1-U/GTPU_SP/libxt_GTPUSP.c b/openair-cn/GTPV1-U/GTPU_SP/libxt_GTPUSP.c
deleted file mode 100755
index 0b749a8759..0000000000
--- a/openair-cn/GTPV1-U/GTPU_SP/libxt_GTPUSP.c
+++ /dev/null
@@ -1,322 +0,0 @@
-/* Shared library add-on to iptables for the GTPUSP target
- *
- * Copyright (c) 2010-2011 Polaris Networks
- * Author: Pradip Biswas
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- */
-
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-
-#include "xt_GTPUSP.h"
-
-#if (IPTVERSION <= 135)
-#include
-#elif (IPTVERSION > 135)
-#include
-#endif
-
-#if (IPTVERSION <= 135)
-#define GTPUSP_PARAM_BAD_VALUE 0
-#define GTPUSP_PARAM_ONLY_ONCE 1
-#define XT_GTPUSP_VERSION IPTABLES_VERSION_STRING
-#define gtpusp_strtoui(s,v,m,M) !string_to_number(s,m,M,v)
-#define gtpusp_exit_error exit_error
-#elif (IPTVERSION > 135) && (IPTVERSION <= 141)
-#define GTPUSP_PARAM_BAD_VALUE P_BAD_VALUE
-#define GTPUSP_PARAM_ONLY_ONCE P_ONLY_ONCE
-#define XT_GTPUSP_VERSION XTABLES_VERSION
-#define gtpusp_param_act param_act
-#define gtpusp_strtoui(s,v,m,M) !string_to_number(s,m,M,v)
-#define gtpusp_exit_error exit_error
-#elif (IPTVERSION > 141)
-#define GTPUSP_PARAM_BAD_VALUE XTF_BAD_VALUE
-#define GTPUSP_PARAM_ONLY_ONCE XTF_ONLY_ONCE
-#define XT_GTPUSP_VERSION XTABLES_VERSION
-#define gtpusp_param_act xtables_param_act
-#define gtpusp_strtoui(s,v,m,M) xtables_strtoui(s,NULL,v,m,M)
-#define gtpusp_exit_error xtables_error
-#endif
-
-enum {
- PARAM_LADDR = 1 << 0,
- PARAM_LTUN = 1 << 1,
- PARAM_RADDR = 1 << 2,
- PARAM_RTUN = 1 << 3,
- PARAM_ACTION = 1 << 4,
-};
-
-static void GTPUSP_help(void)
-{
- printf(
- "GTPUSP target options\n"
- " --action value Set action \n"
- " --own-ip value Set own IP address\n"
- " --own-tun value Set own tunnel id \n"
- " --peer-ip value Set peer IP address\n"
- " --peer-tun value Set peer tunnel id \n");
-}
-
-#if (IPTVERSION <= 135)
-/* Stolen from iptables v1.4.7 code */
-void gtpusp_param_act(unsigned int status, const char *p1, ...)
-{
- const char *p2, *p3;
- va_list args;
- int b;
-
- va_start(args, p1);
-
- switch (status) {
- case GTPUSP_PARAM_ONLY_ONCE:
- p2 = va_arg(args, const char *);
- b = va_arg(args, unsigned int);
-
- if (!b)
- return;
-
- exit_error(PARAMETER_PROBLEM,
- "%s: \"%s\" option may only be specified once",
- p1, p2);
- break;
-
- case GTPUSP_PARAM_BAD_VALUE:
- p2 = va_arg(args, const char *);
- p3 = va_arg(args, const char *);
- exit_error(PARAMETER_PROBLEM,
- "%s: Bad value for \"%s\" option: \"%s\"",
- p1, p2, p3);
- break;
-
- default:
- exit_error(status, "%s", "Unknown error");
- break;
- }
-
- va_end(args);
-}
-
-#endif
-
-static void parse_gtpusp_addr(const char *s, struct xt_gtpusp_target_info *info, int flag)
-{
- in_addr_t addr;
-
- if ((addr = inet_addr(s)) == -1) {
- switch (flag) {
- case PARAM_LADDR:
- gtpusp_param_act(GTPUSP_PARAM_BAD_VALUE, "GTPUSP", "--own-ip", s);
- break;
-
- case PARAM_RADDR:
- gtpusp_param_act(GTPUSP_PARAM_BAD_VALUE, "GTPUSP", "--peer-ip", s);
- break;
- }
- }
-
- switch (flag) {
- case PARAM_LADDR:
- info->laddr = addr;
- break;
-
- case PARAM_RADDR:
- info->raddr = addr;
- break;
- }
-}
-
-static void parse_gtpusp_tunid(char *s, struct xt_gtpusp_target_info *info, int flag)
-{
- unsigned int value;
-
- if (!gtpusp_strtoui(s, &value, 0, UINT32_MAX)) {
- switch (flag) {
- case PARAM_LTUN:
- gtpusp_param_act(GTPUSP_PARAM_BAD_VALUE, "GTPUSP", "--own-tun", s);
- break;
-
- case PARAM_RTUN:
- gtpusp_param_act(GTPUSP_PARAM_BAD_VALUE, "GTPUSP", "--peer-tun", s);
- break;
- }
- }
-
- switch (flag) {
- case PARAM_LTUN:
- info->ltun = value;
- break;
-
- case PARAM_RTUN:
- info->rtun = value;
- break;
- }
-}
-
-static void parse_gtpusp_action(char *s, struct xt_gtpusp_target_info *info, unsigned int *flags)
-{
- if (!strcmp(s, "add")) {
- info->action = PARAM_GTPUSP_ACTION_ADD;
- *flags |= PARAM_GTPUSP_ACTION_ADD;
- } else {
- gtpusp_param_act(GTPUSP_PARAM_BAD_VALUE, "GTPUSP", "--action", s);
- }
-}
-
-#if (IPTVERSION <= 135)
-static int
-GTPUSP_parse(int c, char **argv, int invert, unsigned int *flags,
- const struct ipt_entry *entry,
- struct ipt_entry_target **target)
-#else
-static int
-GTPUSP_parse(int c, char **argv, int invert, unsigned int *flags,
- const void *entry, struct xt_entry_target **target)
-#endif
-{
- struct xt_gtpusp_target_info *info = (struct xt_gtpusp_target_info *) (*target)->data;
-
- switch (c) {
- case '1':
- gtpusp_param_act(GTPUSP_PARAM_ONLY_ONCE, "GTPUSP", "--own-ip", *flags & PARAM_LADDR);
- parse_gtpusp_addr(optarg, info, PARAM_LADDR);
- *flags |= PARAM_LADDR;
- return 1;
-
- case '2':
- gtpusp_param_act(GTPUSP_PARAM_ONLY_ONCE, "GTPUSP", "--own-tun", *flags & PARAM_LTUN);
- parse_gtpusp_tunid(optarg, info, PARAM_LTUN);
- *flags |= PARAM_LTUN;
- return 1;
-
- case '3':
- gtpusp_param_act(GTPUSP_PARAM_ONLY_ONCE, "GTPUSP", "--peer-ip", *flags & PARAM_RADDR);
- parse_gtpusp_addr(optarg, info, PARAM_RADDR);
- *flags |= PARAM_RADDR;
- return 1;
-
- case '4':
- gtpusp_param_act(GTPUSP_PARAM_ONLY_ONCE, "GTPUSP", "--peer-tun", *flags & PARAM_RTUN);
- parse_gtpusp_tunid(optarg, info, PARAM_RTUN);
- *flags |= PARAM_RTUN;
- return 1;
-
- case '5':
- gtpusp_param_act(GTPUSP_PARAM_ONLY_ONCE, "GTPUSP", "--action", *flags & PARAM_ACTION);
- parse_gtpusp_action(optarg, info, flags);
- *flags |= PARAM_ACTION;
- return 1;
- }
-
- return 1;
-}
-
-static void GTPUSP_check(unsigned int flags)
-{
- if (!(flags & PARAM_ACTION)) {
- gtpusp_exit_error(PARAMETER_PROBLEM, "GTPUSP: You must specify action");
- }
-
- if (!(flags & PARAM_LADDR)) {
- gtpusp_exit_error(PARAMETER_PROBLEM, "GTPUSP: You must specify local addr");
- }
-
- if (!(flags & PARAM_LTUN)) {
- gtpusp_exit_error(PARAMETER_PROBLEM, "GTPUSP: You must specify local tunnel id");
- }
-
- if (!(flags & PARAM_RADDR)) {
- gtpusp_exit_error(PARAMETER_PROBLEM, "GTPUSP: You must specify remote addr");
- }
-
- if (!(flags & PARAM_RTUN)) {
- gtpusp_exit_error(PARAMETER_PROBLEM, "GTPUSP: You must specify remote tunnel id");
- }
-}
-
-static void convert_action_to_string(int action, char *actionstr)
-{
- switch(action) {
- case PARAM_GTPUSP_ACTION_ADD:
- sprintf (actionstr, "add");
- break;
-
- default :
- sprintf (actionstr, "unspecified!!!");
- break;
- }
-}
-
-#if (IPTVERSION <= 135)
-static void
-GTPUSP_print(const struct ipt_ip *ip,
- const struct ipt_entry_target *target,
- int numeric)
-
-#else
-static void
-GTPUSP_print(const void *ip,
- const struct xt_entry_target *target,
- int numeric)
-#endif
-{
- const struct xt_gtpusp_target_info *info =
- (struct xt_gtpusp_target_info *) target->data;
-
- char laddr[64], raddr[64], actionstr[32];
-
- convert_action_to_string(info->action, actionstr);
-
- sprintf (laddr, "%s", inet_ntoa(*(struct in_addr*)&info->laddr));
- sprintf (raddr, "%s", inet_ntoa(*(struct in_addr*)&info->raddr));
- printf("GTPUSP self: %s tunnel: 0x%x / peer: %s tunnel: 0x%x / action: %s",
- laddr, info->ltun, raddr, info->rtun, actionstr);
-}
-
-static struct option GTPUSP_opts[] = {
- { "own-ip", 1, NULL, '1' },
- { "own-tun", 1, NULL, '2' },
- { "peer-ip", 1, NULL, '3' },
- { "peer-tun", 1, NULL, '4' },
- { "action", 1, NULL, '5' },
- { .name = NULL }
-};
-
-#if (IPTVERSION <= 135)
-static struct iptables_target gtpusp_tg_reg = {
-#else
-static struct xtables_target gtpusp_tg_reg = {
-#endif
- .name = "GTPUSP",
- .version = XT_GTPUSP_VERSION,
-#if (IPTVERSION > 135)
- .family = NFPROTO_IPV4,
-#endif
- .size = XT_ALIGN(sizeof(struct xt_gtpusp_target_info)),
- .userspacesize = XT_ALIGN(sizeof(struct xt_gtpusp_target_info)),
- .help = GTPUSP_help,
- .parse = GTPUSP_parse,
- .final_check = GTPUSP_check,
- .print = GTPUSP_print,
- .extra_opts = GTPUSP_opts,
-};
-
-void _init(void)
-{
-#if (IPTVERSION <= 135)
- register_target(>pusp_tg_reg);
-#else
- xtables_register_target(>pusp_tg_reg);
-#endif
-}
-
diff --git a/openair-cn/GTPV1-U/GTPU_SP/xt_GTPUSP.c b/openair-cn/GTPV1-U/GTPU_SP/xt_GTPUSP.c
deleted file mode 100755
index 24f210e371..0000000000
--- a/openair-cn/GTPV1-U/GTPU_SP/xt_GTPUSP.c
+++ /dev/null
@@ -1,780 +0,0 @@
-/*
- * GTPu klm for Linux/iptables
- *
- * Copyright (c) 2010-2011 Polaris Networks
- * Author: Pradip Biswas
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- */
-
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-
-// CONNMARK
-#include
-#include
-#include
-#include
-#if defined(CONFIG_IP6_NF_IPTABLES) || defined(CONFIG_IP6_NF_IPTABLES_MODULE)
-# define WITH_IPV6 1
-#endif
-#include "xt_GTPUSP.h"
-#if !(defined KVERSION)
-# error "Kernel version is not defined!!!! Exiting."
-#endif
-
-#define GTPU_TRACE_IN_KERN_LOG 0
-
-#if defined(GTPU_TRACE_IN_KERN_LOG)
-#define PR_INFO(fORMAT, aRGS...) pr_info(fORMAT, ##aRGS)
-#else
-#define PR_INFO(fORMAT, aRGS...)
-#endif
-#define INT_MODULE_PARM(n, v) static int n = v; module_param(n, int, 0444)
-#define STRING_MODULE_PARM(s, v) static char* s = v; module_param(s, charp, 0000);
-//-----------------------------------------------------------------------------
-static char* _gtpusp_nf_inet_hook_2_string(int nf_inet_hookP);
-static void _gtpusp_print_hex_octets(unsigned char* data_pP, unsigned short sizeP);
-static void _gtpusp_tg4_add(struct sk_buff *old_skb_pP, const struct xt_action_param *par_pP);
-#ifdef WITH_IPV6
-static void _gtpusp_tg6_add(struct sk_buff *old_skb_pP, const struct xt_action_param *par_pP);
-static unsigned int _gtpusp_tg6(struct sk_buff *skb_pP, const struct xt_action_param *par_pP);
-#endif
-static unsigned int _gtpusp_tg4(struct sk_buff *skb_pP, const struct xt_action_param *par_pP);
-static int __init gtpusp_tg_init(void);
-static void __exit gtpusp_tg_exit(void);
-static int _udp_thread(void *data);
-static int _gtpusp_ksocket_send(struct socket *sock_pP, struct sockaddr_in *addr_pP, unsigned char *gtpuh_pP, int len_gtpP, unsigned char *buf_ip_pP, int len_ipP);
-static int _gtpusp_ksocket_receive(struct socket* sock_pP, struct sockaddr_in* addr_pP, unsigned char* buf_pP, int lenP);
-static int _gtpusp_ksocket_process_gtp(const unsigned char * const rx_buf_pP, const int lenP, unsigned char* tx_buf_pP);
-//-----------------------------------------------------------------------------
-#define MODULE_NAME "GTPUSP"
-MODULE_LICENSE("GPL");
-MODULE_AUTHOR("Pradip Biswas ");
-MODULE_DESCRIPTION("GTPu Data Path extension on netfilter");
-//-----------------------------------------------------------------------------
-static struct xt_target gtpusp_tg_reg[] __read_mostly = {
- {
- .name = MODULE_NAME,
- .revision = 0,
- .family = NFPROTO_IPV4,
- .hooks = (1 << NF_INET_POST_ROUTING) |
- (1 << NF_INET_LOCAL_IN) |
- (1 << NF_INET_FORWARD),
- .table = "mangle",
- .target = _gtpusp_tg4,
- .targetsize = sizeof(struct xt_gtpusp_target_info),
- .me = THIS_MODULE,
- },
-#ifdef WITH_IPV6
- {
- .name = MODULE_NAME,
- .revision = 0,
- .family = NFPROTO_IPV6,
- .hooks = (1 << NF_INET_POST_ROUTING) |
- (1 << NF_INET_LOCAL_IN) |
- (1 << NF_INET_FORWARD),
- .table = "mangle",
- .target = _gtpusp_tg6,
- .targetsize = sizeof(struct xt_gtpusp_target_info),
- .me = THIS_MODULE,
- },
-#endif
-};
-#define GTP_ECHO_REQ 1
-#define GTP_ECHO_RSP 2
-#define GTP_ERROR_INDICATION 26
-#define GTP_GPDU 255
-
-typedef struct gtpv1u_msg_s {
- unsigned char version;
- unsigned char protocol_type;
- unsigned char ext_hdr_flag;
- unsigned char seq_num_flag;
- u_int16_t npdu_num_flag;
- u_int32_t msg_type;
- u_int16_t msg_len;
- u_int32_t teid;
- u_int16_t seq_num;
- unsigned char npdu_num;
- unsigned char next_ext_hdr_type;
- u_int32_t msg_buf_len;
- u_int32_t msg_buf_offset;
- struct gtpv1u_msg_s* next;
-} gtpv1u_msg_t;
-
-struct gtpuhdr {
- char flags;
- char msgtype;
- u_int16_t length;
- u_int32_t tunid;
-};
-typedef struct gtpusp_sock_s {
- struct task_struct *thread;
- struct sockaddr_in addr;
- struct socket *sock;
- struct sockaddr_in addr_send;
- int running;
- int thread_stop_requested;
-} gtpusp_sock_t;
-
-//-----------------------------------------------------------------------------
-#define GTPU_HDR_PNBIT 1
-#define GTPU_HDR_SBIT 1 << 1
-#define GTPU_HDR_EBIT 1 << 2
-#define GTPU_ANY_EXT_HDR_BIT (GTPU_HDR_PNBIT | GTPU_HDR_SBIT | GTPU_HDR_EBIT)
-
-#define GTPU_FAILURE 1
-#define GTPU_SUCCESS !GTPU_FAILURE
-#define GTPUSP_2_PRINT_BUFFER_LEN 8192
-
-#define IP_MORE_FRAGMENTS 0x2000
-#define NIPADDR(addr) \
- (uint8_t)(addr & 0x000000FF), \
- (uint8_t)((addr & 0x0000FF00) >> 8), \
- (uint8_t)((addr & 0x00FF0000) >> 16), \
- (uint8_t)((addr & 0xFF000000) >> 24)
-//-----------------------------------------------------------------------------
-static char _gtpusp_print_buffer[GTPUSP_2_PRINT_BUFFER_LEN];
-gtpusp_sock_t _gtpusp_sock;
-
-INT_MODULE_PARM(gtpu_sgw_port, 2152);
-MODULE_PARM_DESC(gtpu_sgw_port, "UDP port number for S1U interface (s-GW side)");
-INT_MODULE_PARM(gtpu_enb_port, 2153);
-MODULE_PARM_DESC(gtpu_enb_port, "UDP port number for S1U interface (eNB side)");
-STRING_MODULE_PARM(sgw_addr, "127.0.0.1");
-MODULE_PARM_DESC(sgw_addr, "IPv4 address of the S1U IP interface");
-
-
-
-//-----------------------------------------------------------------------------
-static char*
-_gtpusp_icmph_type_2_string(uint8_t typeP)
-//-----------------------------------------------------------------------------
-{
- switch (typeP) {
- case ICMP_ECHOREPLY:return "ECHOREPLY";break;
- case ICMP_DEST_UNREACH:return "DEST_UNREACH";break;
- case ICMP_SOURCE_QUENCH:return "SOURCE_QUENCH";break;
- case ICMP_REDIRECT:return "REDIRECT";break;
- case ICMP_ECHO:return "ECHO";break;
- case ICMP_TIME_EXCEEDED:return "TIME_EXCEEDED";break;
- case ICMP_PARAMETERPROB:return "PARAMETERPROB";break;
- case ICMP_TIMESTAMP:return "TIMESTAMP";break;
- case ICMP_TIMESTAMPREPLY:return "TIMESTAMPREPLY";break;
- case ICMP_INFO_REQUEST:return "INFO_REQUEST";break;
- case ICMP_INFO_REPLY:return "INFO_REPLY";break;
- case ICMP_ADDRESS:return "ADDRESS";break;
- case ICMP_ADDRESSREPLY:return "ADDRESSREPLY";break;
- default:return "TYPE?";
- }
-}
-//-----------------------------------------------------------------------------
-static char*
-_gtpusp_nf_inet_hook_2_string(int nf_inet_hookP)
-{
- //-----------------------------------------------------------------------------
- switch (nf_inet_hookP) {
- case NF_INET_PRE_ROUTING:
- return "NF_INET_PRE_ROUTING";
- break;
-
- case NF_INET_LOCAL_IN:
- return "NF_INET_LOCAL_IN";
- break;
-
- case NF_INET_FORWARD:
- return "NF_INET_FORWARD";
- break;
-
- case NF_INET_LOCAL_OUT:
- return "NF_INET_LOCAL_OUT";
- break;
-
- case NF_INET_POST_ROUTING:
- return "NF_INET_POST_ROUTING";
- break;
-
- default:
- return "NF_INET_UNKNOWN";
- }
-}
-//-----------------------------------------------------------------------------
-void
-_gtpusp_print_hex_octets(unsigned char* data_pP, unsigned short sizeP)
-{
- //-----------------------------------------------------------------------------
-
- unsigned long octet_index = 0;
- unsigned long buffer_marker = 0;
- unsigned char aindex;
- struct timeval tv;
- char timeofday[64];
- unsigned int h,m,s;
-
- if (data_pP == NULL) {
- return;
- }
-
- if (sizeP > 2000) {
- return;
- }
-
- do_gettimeofday(&tv);
- h = (tv.tv_sec/3600) % 24;
- m = (tv.tv_sec / 60) % 60;
- s = tv.tv_sec % 60;
- snprintf(timeofday, 64, "%02d:%02d:%02d.%06ld", h,m,s,tv.tv_usec);
-
- buffer_marker+=snprintf(&_gtpusp_print_buffer[buffer_marker], GTPUSP_2_PRINT_BUFFER_LEN - buffer_marker,"%s------+-------------------------------------------------+\n",timeofday);
- buffer_marker+=snprintf(&_gtpusp_print_buffer[buffer_marker], GTPUSP_2_PRINT_BUFFER_LEN - buffer_marker,"%s | 0 1 2 3 4 5 6 7 8 9 a b c d e f |\n",timeofday);
- buffer_marker+=snprintf(&_gtpusp_print_buffer[buffer_marker], GTPUSP_2_PRINT_BUFFER_LEN - buffer_marker,"%s------+-------------------------------------------------+\n",timeofday);
- pr_info("%s",_gtpusp_print_buffer);
- buffer_marker = 0;
-
- for (octet_index = 0; octet_index < sizeP; octet_index++) {
- if ((octet_index % 16) == 0) {
- if (octet_index != 0) {
- buffer_marker+=snprintf(&_gtpusp_print_buffer[buffer_marker], GTPUSP_2_PRINT_BUFFER_LEN - buffer_marker, " |\n");
- pr_info("%s",_gtpusp_print_buffer);
- buffer_marker = 0;
- }
-
- buffer_marker+=snprintf(&_gtpusp_print_buffer[buffer_marker], GTPUSP_2_PRINT_BUFFER_LEN - buffer_marker, "%s %04ld |",timeofday, octet_index);
- }
-
- /*
- * Print every single octet in hexadecimal form
- */
- buffer_marker+=snprintf(&_gtpusp_print_buffer[buffer_marker], GTPUSP_2_PRINT_BUFFER_LEN - buffer_marker, " %02x", data_pP[octet_index]);
- /*
- * Align newline and pipes according to the octets in groups of 2
- */
- }
-
- /*
- * Append enough spaces and put final pipe
- */
- for (aindex = octet_index; aindex < 16; ++aindex)
- buffer_marker+=snprintf(&_gtpusp_print_buffer[buffer_marker], GTPUSP_2_PRINT_BUFFER_LEN - buffer_marker, " ");
-
- //SGI_IF_DEBUG(" ");
- buffer_marker+=snprintf(&_gtpusp_print_buffer[buffer_marker], GTPUSP_2_PRINT_BUFFER_LEN - buffer_marker, " |\n");
- pr_info("%s",_gtpusp_print_buffer);
-}
-
-// for uplink GTPU traffic on S-GW
-//-----------------------------------------------------------------------------
-static int _udp_thread(void *data)
-//-----------------------------------------------------------------------------
-{
- int size, tx_size;
- int bufsize = 8192;
-#if defined(FLAG_GTPV1U_KERNEL_THREAD_SOCK_NO_WAIT)
- int success_read = 0;
- int failed_read = 0;
-#endif
- unsigned char buf[bufsize+1];
- unsigned char gtp_resp[1024];
-
- /* kernel thread initialization */
- _gtpusp_sock.running = 1;
-
- PR_INFO(MODULE_NAME": listening on port %d\n", gtpu_sgw_port);
-
- /* main loop */
- while(_gtpusp_sock.thread_stop_requested == 0){
- if (kthread_should_stop()) {
- _gtpusp_sock.running = 0;
- PR_INFO(MODULE_NAME": kthread_stop initiated exit at %lu \n", jiffies);
- return -1; //Exit from the thread. Return value will be passed to kthread_stop()
- }
- size = _gtpusp_ksocket_receive(_gtpusp_sock.sock, &_gtpusp_sock.addr, buf, bufsize);
-
- if (size <= 0) {
- if (size != -EAGAIN) {
- pr_info(MODULE_NAME": error getting datagram, sock_recvmsg error = %d\n", size);
- }
-#if defined(FLAG_GTPV1U_KERNEL_THREAD_SOCK_NO_WAIT)
- success_read = 0;
- failed_read += 1;
- if (failed_read > 10) failed_read = 10;
- usleep_range(failed_read*20,failed_read*200);
-#endif
- } else {
-#if defined(FLAG_GTPV1U_KERNEL_THREAD_SOCK_NO_WAIT)
- success_read += 1;
- failed_read = 0;
-#endif
- PR_INFO(MODULE_NAME": received %d bytes\n", size);
-
- if ((tx_size = _gtpusp_ksocket_process_gtp(buf, size, gtp_resp)) > 0) {
- //ksocket_send(_gtpusp_sock.sock, &_gtpusp_sock.addr_send, buf, gtp_resp, tx_size, NULL, 0));
- }
- }
- }
- _gtpusp_sock.running = 0;
- if (kthread_should_stop()) {
- PR_INFO(MODULE_NAME": kthread_stop initiated exit at %lu \n", jiffies);
- return -1; //Exit from the thread. Return value will be passed to kthread_stop()
- }
- PR_INFO(MODULE_NAME": kthread do_exit()\n");
- do_exit(0);
-}
-
-//-----------------------------------------------------------------------------
-static int _gtpusp_ksocket_process_gtp(const unsigned char * const rx_buf_pP, const int lenP, unsigned char* tx_buf_pP)
-//-----------------------------------------------------------------------------
-{
- gtpv1u_msg_t gtpv1u_msg;
- uint8_t msg_type;
- struct iphdr *iph_p = NULL;
- struct iphdr *new_iph_p= NULL;
- struct sk_buff *skb_p = NULL;
- const unsigned char * rx_buf_p = rx_buf_pP;
- int err = 0;
- struct rtable *rt = NULL;
- struct flowi fl = {
- .u = {
- .ip4 = {
- .daddr = 0,
- .flowi4_tos = 0,
- .flowi4_scope = RT_SCOPE_UNIVERSE,
- }
- }
- };
-
- msg_type = rx_buf_pP[1];
-
- switch(msg_type) {
- case GTP_ECHO_REQ:
- PR_INFO(MODULE_NAME": TODO GTP ECHO_REQ, SEND TO GTPV1U TASK USER SPACE\n");
- //TODO;
- return 0;
- break;
-
- case GTP_ERROR_INDICATION:
- PR_INFO(MODULE_NAME":TODO GTP ERROR INDICATION, SEND TO GTPV1U TASK USER SPACE\n");
- //TODO;
- return 0;
- break;
-
- case GTP_ECHO_RSP:
- PR_INFO(MODULE_NAME":GTP ECHO_RSP, SEND TO GTPV1U TASK USER SPACE\n");
- return 0;
- break;
-
- case GTP_GPDU: {
- gtpv1u_msg.version = ((*rx_buf_p) & 0xE0) >> 5;
- gtpv1u_msg.protocol_type = ((*rx_buf_p) & 0x10) >> 4;
- gtpv1u_msg.ext_hdr_flag = ((*rx_buf_p) & 0x04) >> 2;
- gtpv1u_msg.seq_num_flag = ((*rx_buf_p) & 0x02) >> 1;
- gtpv1u_msg.npdu_num_flag = ((*rx_buf_p) & 0x01);
- rx_buf_p++;
-
- gtpv1u_msg.msg_type = *(rx_buf_p);
- rx_buf_p++;
-
- rx_buf_p += 2;
-
- gtpv1u_msg.teid = ntohl(*((u_int32_t *)rx_buf_p));
- rx_buf_p += 4;
-
- if(gtpv1u_msg.ext_hdr_flag || gtpv1u_msg.seq_num_flag || gtpv1u_msg.npdu_num_flag) {
- gtpv1u_msg.seq_num = ntohs(*(((u_int16_t *)rx_buf_p)));
- rx_buf_p += 2;
- gtpv1u_msg.npdu_num = *(rx_buf_p++);
- gtpv1u_msg.next_ext_hdr_type = *(rx_buf_p++);
- }
-
- gtpv1u_msg.msg_buf_offset = (u_int32_t)(rx_buf_p - rx_buf_pP);
- gtpv1u_msg.msg_buf_len = lenP - gtpv1u_msg.msg_buf_offset;
- gtpv1u_msg.msg_len = lenP;
-
- iph_p = (struct iphdr*)(&rx_buf_pP[gtpv1u_msg.msg_buf_offset]);
-
- fl.u.ip4.daddr = iph_p->daddr;
- fl.u.ip4.flowi4_tos = RT_TOS(iph_p->tos);
-
- rt = ip_route_output_key(&init_net, &fl.u.ip4);
-
- if (rt == NULL) {
- PR_INFO("GTPURH: Failed to route packet to dst 0x%x. Error: (%d)\n", fl.u.ip4.daddr, err);
- return NF_DROP;
- }
-
- if (rt->dst.dev == NULL) {
- pr_info("GTPURH: dst dev NULL\n");
- return 0;
- }
-
- skb_p = alloc_skb(LL_MAX_HEADER + ntohs(iph_p->tot_len), GFP_ATOMIC);
- if (skb_p == NULL) {
- return 0;
- }
- skb_p->priority = rt_tos2priority(iph_p->tos);
- skb_p->pkt_type = PACKET_OTHERHOST;
- skb_dst_set(skb_p, dst_clone(&rt->dst));
- skb_p->dev = skb_dst(skb_p)->dev;
-
- skb_reserve(skb_p, LL_MAX_HEADER + ntohs(iph_p->tot_len));
- skb_p->protocol = htons(ETH_P_IP);
-
- new_iph_p = (void *)skb_push(skb_p, ntohs(iph_p->tot_len) - (iph_p->ihl << 2));
- skb_reset_transport_header(skb_p);
- new_iph_p = (void *)skb_push(skb_p, iph_p->ihl << 2);
- memcpy(new_iph_p, iph_p, ntohs(iph_p->tot_len));
- skb_reset_network_header(skb_p);
- skb_reset_inner_network_header(skb_p);
- skb_reset_inner_transport_header(skb_p);
-
- skb_p->mark = gtpv1u_msg.teid;
-
- new_iph_p->ttl = ip4_dst_hoplimit(skb_dst(skb_p));
- skb_p->ip_summed = CHECKSUM_NONE;
-
- if (skb_p->len > dst_mtu(skb_dst(skb_p))) {
- PR_INFO("GTPURH: bad length\n");
- goto free_skb;
- }
- ip_local_out(skb_p);
- return 0;
-free_skb:
- pr_info("GTPURH: Dropped skb\n");
- kfree_skb(skb_p);
- return 0;
- }
- break;
-
- default:
- PR_INFO(MODULE_NAME":ERROR GTPU msg type %u\n", msg_type);
- return 0;
- }
-}
-
-//-----------------------------------------------------------------------------
-static int _gtpusp_ksocket_receive(struct socket* sock_pP, struct sockaddr_in* addr_pP, unsigned char* buf_pP, int lenP)
-//-----------------------------------------------------------------------------
-{
- struct msghdr msg;
- struct iovec iov;
- mm_segment_t oldfs;
- int size = 0;
-
- if (sock_pP->sk==NULL) return 0;
-
- iov.iov_base = buf_pP;
- iov.iov_len = lenP;
-
-#if defined(FLAG_GTPV1U_KERNEL_THREAD_SOCK_NO_WAIT)
- msg.msg_flags = MSG_DONTWAIT;
-#else
- msg.msg_flags = 0;
-#endif
- msg.msg_name = addr_pP;
- msg.msg_namelen = sizeof(struct sockaddr_in);
- msg.msg_control = NULL;
- msg.msg_controllen = 0;
- msg.msg_iov = &iov;
- msg.msg_iovlen = 1;
- msg.msg_control = NULL;
-
- oldfs = get_fs();
- set_fs(KERNEL_DS);
- size = sock_recvmsg(sock_pP,&msg,lenP,msg.msg_flags);
- set_fs(oldfs);
-
- return size;
-}
-
-//-----------------------------------------------------------------------------
-static int _gtpusp_ksocket_send(struct socket *sock_pP, struct sockaddr_in *addr_pP, unsigned char *gtpuh_pP, int len_gtpP, unsigned char *buf_ip_pP, int len_ipP)
-//-----------------------------------------------------------------------------
-{
- struct msghdr msg;
- struct iovec iov[2];
- mm_segment_t oldfs;
- int size = 0;
- int err = 0;
- int iov_index = 0;
-
- if ( (err = sock_pP->ops->connect(sock_pP, (struct sockaddr *)addr_pP, sizeof(struct sockaddr), 0)) < 0 ) {
- PR_INFO(MODULE_NAME": Could not connect to socket, error = %d\n", -err);
- return 0;
- }
- if (sock_pP->sk == NULL) {
- return 0;
- }
- if ((gtpuh_pP != NULL) && (len_gtpP > 0)) {
- iov[iov_index].iov_base = gtpuh_pP;
- iov[iov_index].iov_len = len_gtpP;
- iov_index += 1;
- }
-
- if ((buf_ip_pP != NULL) && (len_ipP > 0)) {
- iov[iov_index].iov_base = buf_ip_pP;
- iov[iov_index].iov_len = len_ipP;
- iov_index += 1;
- }
-
- msg.msg_flags = 0;
- msg.msg_name = addr_pP;
- msg.msg_namelen = sizeof(struct sockaddr_in);
- msg.msg_control = NULL;
- msg.msg_controllen = 0;
- msg.msg_iov = iov;
- msg.msg_iovlen = iov_index;
- msg.msg_control = NULL;
-
- oldfs = get_fs();
- set_fs(KERNEL_DS);
- size = sock_sendmsg(sock_pP,&msg,len_ipP+len_gtpP);
- set_fs(oldfs);
-
- return size;
- }
-
-#ifdef WITH_IPV6
-//-----------------------------------------------------------------------------
-static void
-_gtpusp_tg6_add(struct sk_buff *old_skb_pP, const struct xt_action_param *par_pP)
-{
- //-----------------------------------------------------------------------------
- }
-#endif
-
-//-----------------------------------------------------------------------------
-static void
-_gtpusp_tg4_add(struct sk_buff *old_skb_pP, const struct xt_action_param *par_pP)
-{
- //-----------------------------------------------------------------------------
- struct iphdr *old_iph_p = ip_hdr(old_skb_pP);
- struct gtpuhdr gtpuh;
- uint16_t orig_iplen = 0;
- // CONNMARK
- enum ip_conntrack_info ctinfo;
- struct nf_conn *ct = NULL;
- u_int32_t newmark;
-
- if (skb_linearize(old_skb_pP) < 0) {
- PR_INFO(MODULE_NAME": skb no linearize\n");
- return;
- }
- orig_iplen = ntohs(old_iph_p->tot_len);
-
- //----------------------------------------------------------------------------
- // CONNMARK
- //----------------------------------------------------------------------------
- ct = nf_ct_get(old_skb_pP, &ctinfo);
- if (ct == NULL) {
- PR_INFO(MODULE_NAME": _gtpusp_target_add force targinfo ltun %u to skb_pP mark %u\n",
- ((const struct xt_gtpusp_target_info *)(par_pP->targinfo))->ltun,
- old_skb_pP->mark);
- newmark = ((const struct xt_gtpusp_target_info *)(par_pP->targinfo))->ltun;
- } else {
- //XT_CONNMARK_RESTORE:
- newmark = old_skb_pP->mark ^ ct->mark;
-
- PR_INFO(MODULE_NAME": _gtpusp_target_add restore mark %u (skb mark %u ct mark %u) len %u sgw addr %x\n",
- newmark, old_skb_pP->mark, ct->mark, orig_iplen,
- ((const struct xt_gtpusp_target_info *)(par_pP->targinfo))->raddr);
- if (newmark != ((const struct xt_gtpusp_target_info *)(par_pP->targinfo))->ltun) {
- pr_warn(MODULE_NAME": _gtpusp_target_add restore mark 0x%x mismatch ltun 0x%x (rtun 0x%x)",
- newmark, ((const struct xt_gtpusp_target_info *)(par_pP->targinfo))->ltun,
- ((const struct xt_gtpusp_target_info *)(par_pP->targinfo))->rtun);
- }
- }
-
-
- /* Add GTPu header */
- gtpuh.flags = 0x30; /* v1 and Protocol-type=GTP */
- gtpuh.msgtype = 0xff; /* T-PDU */
- gtpuh.length = htons(orig_iplen);
- gtpuh.tunid = htonl(((const struct xt_gtpusp_target_info *)(par_pP->targinfo))->rtun);
-
- _gtpusp_sock.addr_send.sin_addr.s_addr = ((const struct xt_gtpusp_target_info *)(par_pP->targinfo))->raddr;
- _gtpusp_ksocket_send(_gtpusp_sock.sock, &_gtpusp_sock.addr_send, (unsigned char*)>puh, sizeof(gtpuh), (unsigned char*)old_iph_p, orig_iplen);
- return ;
-}
-
-#ifdef WITH_IPV6
-//-----------------------------------------------------------------------------
-static unsigned int
-_gtpusp_tg6(struct sk_buff *skb_pP, const struct xt_action_param *par_pP)
-{
- //-----------------------------------------------------------------------------
-
- const struct xt_gtpusp_target_info *tgi_p = par_pP->targinfo;
-
- if (tgi_p == NULL) {
- return NF_ACCEPT;
- }
-
- if (tgi_p->action == PARAM_GTPUSP_ACTION_ADD) {
- _gtpusp_tg6_add(skb_pP, par_pP);
- return NF_DROP; // TODO
- }
-
- return NF_ACCEPT;
-}
-#endif
-
-//-----------------------------------------------------------------------------
-static unsigned int
-_gtpusp_tg4(struct sk_buff *skb_pP, const struct xt_action_param *par_pP)
-{
- //-----------------------------------------------------------------------------
- const struct xt_gtpusp_target_info *tgi_p = par_pP->targinfo;
-
- if (tgi_p == NULL) {
- return NF_ACCEPT;
- }
-
- if (tgi_p->action == PARAM_GTPUSP_ACTION_ADD) {
- _gtpusp_tg4_add(skb_pP, par_pP);
- return NF_DROP;
- }
-
- return NF_ACCEPT;
-}
-
-//-----------------------------------------------------------------------------
-static int
-__init gtpusp_tg_init(void)
-//-----------------------------------------------------------------------------
-{
- int err;
-
- pr_info(MODULE_NAME": Initializing module (KVersion: %d)\n", KVERSION);
- pr_info(MODULE_NAME": Copyright Polaris Networks 2010-2011\n");
- pr_info(MODULE_NAME": Modified by EURECOM Lionel GAUTHIER 2014\n");
-#ifndef CMAKER
- pr_info(MODULE_NAME": Compiled %s at time %s\n",__DATE__,__TIME__);
-#endif
-#if defined(WITH_IPV6)
- pr_info(MODULE_NAME": IPv4/IPv6 enabled\n");
-#else
- pr_info(MODULE_NAME": IPv4 only enabled\n");
-#endif
- pr_info(MODULE_NAME": params gtpu_enb_port=%u, gtpu_sgw_port=%u, sgw_addr=%s\n",
- gtpu_enb_port, gtpu_sgw_port, sgw_addr);
-
- // UDP socket socket
- memset(&_gtpusp_sock, 0, sizeof(gtpusp_sock_t));
-
- /* create a socket */
- if ((err = sock_create(AF_INET, SOCK_DGRAM, IPPROTO_UDP, &_gtpusp_sock.sock)) < 0 ) {
- PR_INFO(": Could not create a datagram socket, error = %d\n", -ENXIO);
- return err;
- }
-
- _gtpusp_sock.addr.sin_family = AF_INET;
- _gtpusp_sock.addr.sin_port = htons(gtpu_sgw_port);
- _gtpusp_sock.addr.sin_addr.s_addr = in_aton(sgw_addr);
-
- _gtpusp_sock.addr_send.sin_family = AF_INET;
- _gtpusp_sock.addr_send.sin_port = htons(gtpu_enb_port);
- _gtpusp_sock.addr_send.sin_addr.s_addr = in_aton(sgw_addr);
-
- _gtpusp_sock.thread_stop_requested = 0;
-
- if ( (err = _gtpusp_sock.sock->ops->bind(_gtpusp_sock.sock, (struct sockaddr *)&_gtpusp_sock.addr, sizeof(struct sockaddr) ) ) < 0) {
- pr_info(MODULE_NAME": Could not bind socket, error = %d\n", -err);
- goto close_and_out;
- }
-
- // start kernel thread
- _gtpusp_sock.thread = kthread_run((void *)_udp_thread, NULL, MODULE_NAME);
- if (IS_ERR(_gtpusp_sock.thread)) {
- pr_info(MODULE_NAME": unable to start kernel thread\n");
- return -ENOMEM;
- }
- if((_gtpusp_sock.thread)) {
- wake_up_process(_gtpusp_sock.thread);
- }
- return xt_register_targets(gtpusp_tg_reg, ARRAY_SIZE(gtpusp_tg_reg));
-close_and_out:
- sock_release(_gtpusp_sock.sock);
- _gtpusp_sock.sock = NULL;
- return err;
-}
-
-//-----------------------------------------------------------------------------
-static void
-__exit gtpusp_tg_exit(void)
-//-----------------------------------------------------------------------------
-{
- int err;
- int loop = 0;
-
-
- if (_gtpusp_sock.thread==NULL) {
- pr_info(MODULE_NAME": no kernel thread to kill\n");
- } else {
- if (_gtpusp_sock.running > 0) {
- _gtpusp_sock.thread_stop_requested = 1;
- pr_info(MODULE_NAME": exit kernel thread requested\n");
- do {
- pr_info(MODULE_NAME": waking up thread with datagram\n");
- msleep(5);
- pr_info(MODULE_NAME": waiting for thread...\n");
- loop++;
- } while ((_gtpusp_sock.running > 0) && (loop < 20));
- if (_gtpusp_sock.running > 0) {
- pr_info(MODULE_NAME": stopping kernel thread\n");
- err = kthread_stop(_gtpusp_sock.thread);
- if(!err) {
- pr_info(MODULE_NAME": Successfully killed kernel thread!\n");
- } else {
- pr_info(MODULE_NAME": Unsuccessfully killed kernel thread!\n");
- }
- } else {
- pr_info(MODULE_NAME": Found thread exited by itself\n");
- }
- }
- }
-
- /* free allocated resources before exit */
- if (_gtpusp_sock.sock != NULL) {
- sock_release(_gtpusp_sock.sock);
- _gtpusp_sock.sock = NULL;
- }
- xt_unregister_targets(gtpusp_tg_reg, ARRAY_SIZE(gtpusp_tg_reg));
- pr_info(MODULE_NAME": Unloading module\n");
-}
-
-
-module_init(gtpusp_tg_init);
-module_exit(gtpusp_tg_exit);
-MODULE_ALIAS("ipt6_GTPUSP");
-MODULE_ALIAS("ipt_GTPUSP");
-
diff --git a/openair-cn/GTPV1-U/GTPU_SP/xt_GTPUSP.h b/openair-cn/GTPV1-U/GTPU_SP/xt_GTPUSP.h
deleted file mode 100755
index e4d72f5875..0000000000
--- a/openair-cn/GTPV1-U/GTPU_SP/xt_GTPUSP.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Shared header file for iptables extension for the GTPU target and GTPu KLM
- *
- * Copyright (c) 2010-2011 Polaris Networks
- * Author: Pradip Biswas
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- */
-
-enum xt_gtpusp_mode_ {
- PARAM_GTPUSP_ACTION_ADD = 1 << 8,
-};
-
-struct xt_gtpusp_target_info {
- u_int32_t laddr __attribute__((aligned(8)));
- u_int32_t raddr __attribute__((aligned(8)));
- u_int32_t ltun __attribute__((aligned(8)));
- u_int32_t rtun __attribute__((aligned(8)));
- u_int32_t action __attribute__((aligned(8)));
-};
-
diff --git a/openair-cn/GTPV1-U/Makefile.am b/openair-cn/GTPV1-U/Makefile.am
index cb8acf56c3..34df3ff5c9 100644
--- a/openair-cn/GTPV1-U/Makefile.am
+++ b/openair-cn/GTPV1-U/Makefile.am
@@ -21,7 +21,7 @@
# Contact Information
# OpenAirInterface Admin: openair_admin@eurecom.fr
# OpenAirInterface Tech : openair_tech@eurecom.fr
-# OpenAirInterface Dev : openair4g-devel@eurecom.fr
+# OpenAirInterface Dev : openair4g-devel@lists.eurecom.fr
#
# Address : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
#
diff --git a/openair-cn/GTPV1-U/Makefile.eNB b/openair-cn/GTPV1-U/Makefile.eNB
index 1347eb2c29..97920f114f 100644
--- a/openair-cn/GTPV1-U/Makefile.eNB
+++ b/openair-cn/GTPV1-U/Makefile.eNB
@@ -21,7 +21,7 @@
# Contact Information
# OpenAirInterface Admin: openair_admin@eurecom.fr
# OpenAirInterface Tech : openair_tech@eurecom.fr
-# OpenAirInterface Dev : openair4g-devel@eurecom.fr
+# OpenAirInterface Dev : openair4g-devel@lists.eurecom.fr
#
# Address : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
#
diff --git a/openair-cn/GTPV1-U/gtpv1u.h b/openair-cn/GTPV1-U/gtpv1u.h
index 3409505158..264fedfe77 100644
--- a/openair-cn/GTPV1-U/gtpv1u.h
+++ b/openair-cn/GTPV1-U/gtpv1u.h
@@ -21,7 +21,7 @@
Contact Information
OpenAirInterface Admin: openair_admin@eurecom.fr
OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
+ OpenAirInterface Dev : openair4g-devel@lists.eurecom.fr
Address : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
diff --git a/openair-cn/GTPV1-U/gtpv1u_eNB.c b/openair-cn/GTPV1-U/gtpv1u_eNB.c
index 704123c3b2..ca492469b1 100644
--- a/openair-cn/GTPV1-U/gtpv1u_eNB.c
+++ b/openair-cn/GTPV1-U/gtpv1u_eNB.c
@@ -21,7 +21,7 @@
Contact Information
OpenAirInterface Admin: openair_admin@eurecom.fr
OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
+ OpenAirInterface Dev : openair4g-devel@lists.eurecom.fr
Address : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
diff --git a/openair-cn/GTPV1-U/gtpv1u_eNB_defs.h b/openair-cn/GTPV1-U/gtpv1u_eNB_defs.h
index 81f00005d9..916d4459d9 100644
--- a/openair-cn/GTPV1-U/gtpv1u_eNB_defs.h
+++ b/openair-cn/GTPV1-U/gtpv1u_eNB_defs.h
@@ -21,7 +21,7 @@
Contact Information
OpenAirInterface Admin: openair_admin@eurecom.fr
OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
+ OpenAirInterface Dev : openair4g-devel@lists.eurecom.fr
Address : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
diff --git a/openair-cn/GTPV1-U/gtpv1u_eNB_task.h b/openair-cn/GTPV1-U/gtpv1u_eNB_task.h
index ce6643b131..b06777a55d 100755
--- a/openair-cn/GTPV1-U/gtpv1u_eNB_task.h
+++ b/openair-cn/GTPV1-U/gtpv1u_eNB_task.h
@@ -21,7 +21,7 @@
Contact Information
OpenAirInterface Admin: openair_admin@eurecom.fr
OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
+ OpenAirInterface Dev : openair4g-devel@lists.eurecom.fr
Address : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
diff --git a/openair-cn/GTPV1-U/gtpv1u_sgw_defs.h b/openair-cn/GTPV1-U/gtpv1u_sgw_defs.h
index a525c388a2..d40410f3b7 100644
--- a/openair-cn/GTPV1-U/gtpv1u_sgw_defs.h
+++ b/openair-cn/GTPV1-U/gtpv1u_sgw_defs.h
@@ -21,7 +21,7 @@
Contact Information
OpenAirInterface Admin: openair_admin@eurecom.fr
OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
+ OpenAirInterface Dev : openair4g-devel@lists.eurecom.fr
Address : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
diff --git a/openair-cn/GTPV1-U/gtpv1u_task.c b/openair-cn/GTPV1-U/gtpv1u_task.c
index f98db6056e..f17a0fdd0e 100644
--- a/openair-cn/GTPV1-U/gtpv1u_task.c
+++ b/openair-cn/GTPV1-U/gtpv1u_task.c
@@ -21,7 +21,7 @@
Contact Information
OpenAirInterface Admin: openair_admin@eurecom.fr
OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
+ OpenAirInterface Dev : openair4g-devel@lists.eurecom.fr
Address : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
diff --git a/openair-cn/GTPV1-U/gtpv1u_teid_pool.c b/openair-cn/GTPV1-U/gtpv1u_teid_pool.c
index 3cbafd8979..32db1ff47e 100644
--- a/openair-cn/GTPV1-U/gtpv1u_teid_pool.c
+++ b/openair-cn/GTPV1-U/gtpv1u_teid_pool.c
@@ -21,7 +21,7 @@
Contact Information
OpenAirInterface Admin: openair_admin@eurecom.fr
OpenAirInterface Tech : openair_tech@eurecom.fr
- OpenAirInterface Dev : openair4g-devel@eurecom.fr
+ OpenAirInterface Dev : openair4g-devel@lists.eurecom.fr
Address : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
diff --git a/openair-cn/GTPV2-C/Makefile.am b/openair-cn/GTPV2-C/Makefile.am
deleted file mode 100644
index 4bbb12ed0d..0000000000
--- a/openair-cn/GTPV2-C/Makefile.am
+++ /dev/null
@@ -1,29 +0,0 @@
-################################################################################
-# OpenAirInterface
-# Copyright(c) 1999 - 2014 Eurecom
-#
-# OpenAirInterface is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-#
-# OpenAirInterface is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with OpenAirInterface.The full GNU General Public License is
-# included in this distribution in the file called "COPYING". If not,
-# see .
-#
-# Contact Information
-# OpenAirInterface Admin: openair_admin@eurecom.fr
-# OpenAirInterface Tech : openair_tech@eurecom.fr
-# OpenAirInterface Dev : openair4g-devel@eurecom.fr
-#
-# Address : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
-#
-################################################################################
-SUBDIRS = nwgtpv2c-0.11/
\ No newline at end of file
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/AUTHORS b/openair-cn/GTPV2-C/nwgtpv2c-0.11/AUTHORS
deleted file mode 100644
index b068a40fdd..0000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/AUTHORS
+++ /dev/null
@@ -1 +0,0 @@
-Amit Chawre
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/COPYING b/openair-cn/GTPV2-C/nwgtpv2c-0.11/COPYING
deleted file mode 100644
index d27832d6c1..0000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/COPYING
+++ /dev/null
@@ -1,26 +0,0 @@
-Copyright (c) 2010-2011 Amit Chawre
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
-1. Redistributions of source code must retain the above copyright
-notice, this list of conditions and the following disclaimer.
-2. Redistributions in binary form must reproduce the above copyright
-notice, this list of conditions and the following disclaimer in the
-documentation and/or other materials provided with the distribution.
-3. The name of the author may not be used to endorse or promote products
-derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
-IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/ChangeLog b/openair-cn/GTPV2-C/nwgtpv2c-0.11/ChangeLog
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/Makefile.am b/openair-cn/GTPV2-C/nwgtpv2c-0.11/Makefile.am
deleted file mode 100644
index 2b8e86b1a2..0000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/Makefile.am
+++ /dev/null
@@ -1,6 +0,0 @@
-# this is example-file: Makefile.am
-
-# the subdirectories of the project to go into
-SUBDIRS = \
- src\
- test-app
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/NEWS b/openair-cn/GTPV2-C/nwgtpv2c-0.11/NEWS
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/README b/openair-cn/GTPV2-C/nwgtpv2c-0.11/README
deleted file mode 100644
index 8aa79638e9..0000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/README
+++ /dev/null
@@ -1,168 +0,0 @@
-
-INTRODUCTION
-------------
-
-nwGtpv2c library is a free and open source implementation of GPRS Tunneling
-Protocol v2, also known as eGTP-C, as per 3GPP TS-29274.
-
-The stack library supports transaction management, message creation and parsing,
-message validation, echo response and retransmission management. Other than
-this, timer and memory management functions are also built into the stack.
-
-The library is published under BSD three clause license.
-
-
-DESIGN PHILOSPHY
-----------------
-
-The stack is designed for high portability not only for the hardware and OS
-it will run on but also for the application software that uses it. The stack
-doesn't mandate conditions on the user application architecture or design.
-The stack relies on the user application for infrastructure utilities such
-as I/O, timers, logs and multithreading. This realized by using callback
-mechanisms and enables the stack library to seamlessly integrate without or
-very little changes to the existing application framework.
-
-The stack is fully-asynchronous in design for compatibility with event loop
-mechanisms such as select, poll, etc. and can also be used for multi-threaded
-applications. It should compile on Linux, BSD, Mac OS X, Solaris and Windows
-(cygwin).
-
-The stack architecture builds upon following mentioned entities that are
-external to it:
-
- +-------------+ +---------+ +---------+
- | ULP ENTITY | | TMR MGR | | LOG MGR |
- +------+------+ +----+----+ +----+----+
- | | |
- +------+------------------+------------------+----+
- | |
- | NWGTPv2 STACK |
- | |
- +-------------------------+-----------------------+
- |
- +------+------+
- | UDP ENTITY |
- +-------------+
-
-
-- User Layer Protocol (ULP) Entity:
-This entity is the one which decides behaviour of the GTP user application.
-This layer implements the intelligent logic for the GTP application and sits
-on top of the GTP stack. This layer may also execute functions other than GTP
-procedures for example authetication.
-
-- UDP Entity:
-This is the layer below the GTP stack and is responsible for UDP I/O between
-the stack and network. This layer shall manage the socket interface. This entity
-abstracts the stack library's view of the network. This may be useful in a
-multiprocess load balancing application wherein the GTP messages are received
-by a GTP load distribution entity and relayed to multiple GTP stacks over
-internal messaging. It may or may not be housed with/in ULP.
-
-- Timer Manager Entity:
-Timer Manager Entity provides the GTP stack library with infrastructure for
-timer CRUD operations. It may or may not be housed with/in ULP.
-
-- Log Manager Entity:
-Log Manager Entity provides the GTP stack library with callbacks for logging
-operations. It may or may not be housed with/in ULP.
-
-
-Optionally, there may be a user level "Stack Management Entity" which shall be
-resposible for creating and configuring the stack library, though the stack
-library is not aware of any such entity.
-
-The application may implement all above entities as a single or multiple object.
-The external entities need to register callbacks with GTP stack library for
-receiving APIs from the stack library and stack library exposes API for the same.
-
-The GTP stack library doesn't implement any execution threads of its own. It is
-up-to user application if it want to call the library APIs via multiple threads.
-The stack library, though, currently DOES NOT protect its critical section and
-hence, is NOT threadsafe.
-
-
-FEATURES
---------
-
-- TS 29.274 (Release 9) compliance target for gtp-c
-- Message Encoding
-- Reliable Message Delivery
-- Message Parser
-- Message Integrity and Error Checking
-- Support for S11, S5 and S8 SAE/EPC interfaces
-- Easy Application Integration
-
-
-APPLICATIONS
-------------
-
-In general, the GTP stack library may be used to write any GTP version 2 based
-application.
-The GTP stack library can also be used by applications implementing LTE MME, SGW
-or PDN Gateways and simulators/emulators for either of them. Please see the test
-applications involving basic GTP procedures.
-
-The test applications use libevent-1.4 library for I/O and timer infrastructure,
-(http://www.monkey.org/~provos/libevent-1.4.14b-stable.tar.gz).
-Following is a brief description of the test applications:
-
-- nw-helloworld
-This is minimalistic program demostrating usage of nw-gtpv2 library. It
-demostrates ulp, udp, tmrmgr and logmgr entities as well as stack construction
-and destruction. The gtpv2c test application creates a transaction and sends
-a initial request messages over it.
-
-- nw-egpting
-egtping is a utility for pinging a GPRS Tunneling Protocol (GTP) version 2,
-or Evolved GTP (eGTP) using Echo Request/Response.
-
-- nw-epc
-The nw-epc software package is a free and open source framework implementation
-of SGW and PGW built upon nw-gtpv2.
-
-
-LICENSE
--------
-
-Copyright (c) 2010-2011 Amit Chawre
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
-1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
-IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-
-DISCLAIMER
-----------
-
-THIS INFORMATION IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
-IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-THIS INFORMATION, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/configure.ac b/openair-cn/GTPV2-C/nwgtpv2c-0.11/configure.ac
deleted file mode 100644
index c9284f575e..0000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/configure.ac
+++ /dev/null
@@ -1,58 +0,0 @@
-# this is example-file: configure.ac
-
-# initial information about the project
-AC_INIT([NwGtpv2c],[0.11],[])
-
-# check if the source folder is correct
-AC_CONFIG_SRCDIR([src/NwGtpv2c.c])
-
-# Checks for programs
-
-# check for C++ preprocessor and compiler and the library compiler
-AC_PROG_CXXCPP
-AC_PROG_CXX
-AC_PROG_RANLIB
-
-# automake initialisation and check for minimal automake API version 1.9
-AM_INIT_AUTOMAKE([1.9])
-
-# use the C compiler for the following checks
-AC_LANG([C])
-AC_C_INLINE
-
-# Checks for header files.
-AC_HEADER_STDC
-AC_CHECK_HEADERS([fcntl.h])
-AC_CHECK_HEADERS([string])
-AC_CHECK_HEADERS([iostream])
-AC_CHECK_HEADERS([arpa/inet.h])
-AC_CHECK_HEADERS([sys/time.h])
-AC_CHECK_HEADERS([sys/socket.h])
-
-AC_CHECK_FUNCS([strerror])
-AC_CHECK_FUNCS([socket])
-AC_CHECK_FUNCS([memset])
-AC_CHECK_FUNCS([gettimeofday])
-AC_FUNC_MALLOC
-AC_PROG_LN_S
-
-AC_CHECK_LIB([event], [event_init])
-AM_CONDITIONAL([ENABLE_TESTS_APP], [test x$HAVE_LIBEVENT == xyes])
-
-# Checks for typedefs, structures, and compiler characteristics.
-AC_TYPE_SIZE_T
-
-# distribute additional compiler and linker flags
-# --> set these variables instead of CXXFLAGS or LDFLAGS
-AC_SUBST([AM_CFLAGS])
-AC_SUBST([AM_LDFLAGS])
-
-# files to generate via autotools (.am or .in source files)
-AC_CONFIG_FILES([Makefile])
-AC_CONFIG_FILES([src/Makefile])
-AC_CONFIG_FILES([test-app/Makefile])
-AC_CONFIG_FILES([test-app/nw-helloworld/Makefile])
-AC_CONFIG_FILES([test-app/nw-egtping/Makefile])
-
-# generate the final Makefile etc.
-AC_OUTPUT
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/include/NwGtpv2cLog.h b/openair-cn/GTPV2-C/nwgtpv2c-0.11/include/NwGtpv2cLog.h
deleted file mode 100644
index b35694b966..0000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/include/NwGtpv2cLog.h
+++ /dev/null
@@ -1,83 +0,0 @@
-/*----------------------------------------------------------------------------*
- * *
- * n w - g t p v 2 c *
- * G P R S T u n n e l i n g P r o t o c o l v 2 c S t a c k *
- * *
- * *
- * Copyright (c) 2010-2011 Amit Chawre *
- * All rights reserved. *
- * *
- * Redistribution and use in source and binary forms, with or without *
- * modification, are permitted provided that the following conditions *
- * are met: *
- * *
- * 1. Redistributions of source code must retain the above copyright *
- * notice, this list of conditions and the following disclaimer. *
- * 2. Redistributions in binary form must reproduce the above copyright *
- * notice, this list of conditions and the following disclaimer in the *
- * documentation and/or other materials provided with the distribution. *
- * 3. The name of the author may not be used to endorse or promote products *
- * derived from this software without specific prior written permission. *
- * *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR *
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES *
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. *
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, *
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT *
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, *
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY *
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF *
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *
- *----------------------------------------------------------------------------*/
-
-#ifndef __NW_GTPV2C_LOG_H__
-#define __NW_GTPV2C_LOG_H__
-
-#include
-#include "NwLog.h"
-
-/**
- * @file NwGtpv2cLog.h
- * @brief This header contains logging related definitions.
-*/
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*---------------------------------------------------------------------------
- * Log Macro Definition
- *--------------------------------------------------------------------------*/
-
-#define NW_LOG(_gtpv2cHandle, _logLevel, ...) \
- do { \
- if(((NwGtpv2cStackT*)(_gtpv2cHandle))->logLevel >= _logLevel) \
- { \
- char _logBuf[1024]; \
- snprintf(_logBuf, 1024, __VA_ARGS__); \
- ((NwGtpv2cStackT*)(_gtpv2cHandle))->logMgr.logReqCallback(((NwGtpv2cStackT*)_gtpv2cHandle)->logMgr.logMgrHandle, _logLevel, __FILE__, __LINE__, _logBuf);\
- } \
- } while(0)
-
-#define NW_ENTER(_gtpv2cHandle) \
- do { \
- NW_LOG(_gtpv2cHandle, NW_LOG_LEVEL_DEBG, "Entering '%s'", __func__);\
- } while(0)
-
-#define NW_LEAVE(_gtpv2cHandle) \
- do { \
- NW_LOG(_gtpv2cHandle, NW_LOG_LEVEL_DEBG, "Leaving '%s'", __func__);\
- } while(0)
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NW_TYPES_H__ */
-
-
-/*--------------------------------------------------------------------------*
- * E N D O F F I L E *
- *--------------------------------------------------------------------------*/
-
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/include/NwGtpv2cMsgIeParseInfo.h b/openair-cn/GTPV2-C/nwgtpv2c-0.11/include/NwGtpv2cMsgIeParseInfo.h
deleted file mode 100644
index 38a37a5d4a..0000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/include/NwGtpv2cMsgIeParseInfo.h
+++ /dev/null
@@ -1,95 +0,0 @@
-/*----------------------------------------------------------------------------*
- * *
- * n w - g t p v 2 c *
- * G P R S T u n n e l i n g P r o t o c o l v 2 c S t a c k *
- * *
- * *
- * Copyright (c) 2010-2011 Amit Chawre *
- * All rights reserved. *
- * *
- * Redistribution and use in source and binary forms, with or without *
- * modification, are permitted provided that the following conditions *
- * are met: *
- * *
- * 1. Redistributions of source code must retain the above copyright *
- * notice, this list of conditions and the following disclaimer. *
- * 2. Redistributions in binary form must reproduce the above copyright *
- * notice, this list of conditions and the following disclaimer in the *
- * documentation and/or other materials provided with the distribution. *
- * 3. The name of the author may not be used to endorse or promote products *
- * derived from this software without specific prior written permission. *
- * *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR *
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES *
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. *
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, *
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT *
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, *
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY *
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF *
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *
- *----------------------------------------------------------------------------*/
-
-#ifndef __NW_GTPV2C_MSG_PARSE_INFO_H__
-#define __NW_GTPV2C_MSG_PARSE_INFO_H__
-
-#include "NwTypes.h"
-#include "NwGtpv2c.h"
-
-/**
- * @file NwGtpv2cMsgParseInfo.h
- * @brief This file defines APIs for to parse incoming messages.
-*/
-
-typedef struct {
- uint8_t groupedIeType;
- uint16_t mandatoryIeCount;
- NwGtpv2cStackHandleT hStack;
-
- struct {
- uint8_t ieMinLength;
- uint8_t iePresence;
- } ieParseInfo[NW_GTPV2C_IE_TYPE_MAXIMUM][NW_GTPV2C_IE_INSTANCE_MAXIMUM];
-
-} NwGtpv2cGroupedIeParseInfoT;
-
-typedef struct {
- uint16_t msgType;
- uint16_t mandatoryIeCount;
- NwGtpv2cStackHandleT hStack;
-
- struct {
- uint8_t ieMinLength;
- uint8_t iePresence;
- NwGtpv2cGroupedIeParseInfoT* pGroupedIeInfo;
- } ieParseInfo[NW_GTPV2C_IE_TYPE_MAXIMUM][NW_GTPV2C_IE_INSTANCE_MAXIMUM];
-
-} NwGtpv2cMsgIeParseInfoT;
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-NwGtpv2cMsgIeParseInfoT*
-nwGtpv2cMsgIeParseInfoNew(NwGtpv2cStackHandleT hStack, uint8_t msgType);
-
-NwRcT
-nwGtpv2cMsgIeParseInfoDelete(NwGtpv2cMsgIeParseInfoT* thiz);
-
-NwRcT
-nwGtpv2cMsgIeParse(NW_IN NwGtpv2cMsgIeParseInfoT* thiz,
- NW_IN NwGtpv2cMsgHandleT hMsg,
- NW_INOUT NwGtpv2cErrorT *pError);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NW_GTPV2C_MSG_PARSE_INFO_H__ */
-
-
-/*--------------------------------------------------------------------------*
- * E N D O F F I L E *
- *--------------------------------------------------------------------------*/
-
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/include/NwGtpv2cPrivate.h b/openair-cn/GTPV2-C/nwgtpv2c-0.11/include/NwGtpv2cPrivate.h
deleted file mode 100644
index 29be2c3f29..0000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/include/NwGtpv2cPrivate.h
+++ /dev/null
@@ -1,237 +0,0 @@
-/*----------------------------------------------------------------------------*
- * *
- * n w - g t p v 2 c *
- * G P R S T u n n e l i n g P r o t o c o l v 2 c S t a c k *
- * *
- * *
- * Copyright (c) 2010-2011 Amit Chawre *
- * All rights reserved. *
- * *
- * Redistribution and use in source and binary forms, with or without *
- * modification, are permitted provided that the following conditions *
- * are met: *
- * *
- * 1. Redistributions of source code must retain the above copyright *
- * notice, this list of conditions and the following disclaimer. *
- * 2. Redistributions in binary form must reproduce the above copyright *
- * notice, this list of conditions and the following disclaimer in the *
- * documentation and/or other materials provided with the distribution. *
- * 3. The name of the author may not be used to endorse or promote products *
- * derived from this software without specific prior written permission. *
- * *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR *
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES *
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. *
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, *
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT *
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, *
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY *
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF *
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *
- *----------------------------------------------------------------------------*/
-
-#ifndef __NW_GTPV2C_PRIVATE_H__
-#define __NW_GTPV2C_PRIVATE_H__
-
-#include
-
-#include "tree.h"
-#include "queue.h"
-
-#include "NwTypes.h"
-#include "NwError.h"
-#include "NwGtpv2c.h"
-#include "NwGtpv2cIe.h"
-#include "NwGtpv2cMsg.h"
-#include "NwGtpv2cMsgIeParseInfo.h"
-#include "NwGtpv2cTunnel.h"
-
-/**
- * @file NwGtpv2cPrivate.h
- * @brief This header file contains nw-gtpv2c private definitions not to be
- * exposed to user application.
-*/
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define NW_GTPV2C_MALLOC(_stack, _size, _mem, _type) \
- do { \
- if(((NwGtpv2cStackT*)(_stack))->memMgr.memAlloc && ((NwGtpv2cStackT*)(_stack))->memMgr.memFree )\
- { \
- _mem = (_type) ((NwGtpv2cStackT*) (_stack))->memMgr.memAlloc(((NwGtpv2cStackT*) (_stack))->memMgr.hMemMgr, _size, __FILE__, __LINE__);\
- } \
- else \
- { \
- _mem = (_type) malloc (_size); \
- } \
- } while (0)
-
-#define NW_GTPV2C_FREE(_stack, _mem) \
- do { \
- if(((NwGtpv2cStackT*)(_stack))->memMgr.memAlloc && ((NwGtpv2cStackT*)(_stack))->memMgr.memFree )\
- { \
- ((NwGtpv2cStackT*)(_stack))->memMgr.memFree(((NwGtpv2cStackT*) (_stack))->memMgr.hMemMgr, _mem, __FILE__, __LINE__);\
- } \
- else \
- { \
- free ((void*)_mem); \
- } \
- } while (0)
-
-/*--------------------------------------------------------------------------*
- * G T P V 2 C S T A C K O B J E C T T Y P E D E F I N I T I O N *
- *--------------------------------------------------------------------------*/
-
-/**
- * gtpv2c stack class definition
- */
-
-typedef struct NwGtpv2cStack {
- uint32_t id;
- NwGtpv2cUlpEntityT ulp;
- NwGtpv2cUdpEntityT udp;
- NwGtpv2cMemMgrEntityT memMgr;
- NwGtpv2cTimerMgrEntityT tmrMgr;
- NwGtpv2cLogMgrEntityT logMgr;
-
- uint32_t seqNum;
- uint32_t logLevel;
- uint32_t restartCounter;
-
- NwGtpv2cMsgIeParseInfoT *pGtpv2cMsgIeParseInfo[NW_GTP_MSG_END];
- struct NwGtpv2cTimeoutInfo *activeTimerInfo;
-
- RB_HEAD( NwGtpv2cTunnelMap, NwGtpv2cTunnel ) tunnelMap;
- RB_HEAD( NwGtpv2cOutstandingTxSeqNumTrxnMap, NwGtpv2cTrxn ) outstandingTxSeqNumMap;
- RB_HEAD( NwGtpv2cOutstandingRxSeqNumTrxnMap, NwGtpv2cTrxn ) outstandingRxSeqNumMap;
- RB_HEAD( NwGtpv2cActiveTimerList, NwGtpv2cTimeoutInfo ) activeTimerList;
- NwHandleT hTmrMinHeap;
-} NwGtpv2cStackT;
-
-
-/*--------------------------------------------------------------------------*
- * Timeout Info Type Definition
- *--------------------------------------------------------------------------*/
-
-/**
- * gtpv2c timeout info
- */
-
-typedef struct NwGtpv2cTimeoutInfo {
- NwGtpv2cStackHandleT hStack;
- struct timeval tvTimeout;
- uint32_t tmrType;
- void* timeoutArg;
- NwRcT (*timeoutCallbackFunc)(void*);
- NwGtpv2cTimerHandleT hTimer;
- RB_ENTRY (NwGtpv2cTimeoutInfo) activeTimerListRbtNode; /**< RB Tree Data Structure Node */
- uint32_t timerMinHeapIndex;
- struct NwGtpv2cTimeoutInfo *next;
-} NwGtpv2cTimeoutInfoT;
-
-
-/*---------------------------------------------------------------------------
- * GTPv2c Message Container Definition
- *--------------------------------------------------------------------------*/
-
-#define NW_GTPV2C_MAX_MSG_LEN (1024) /**< Maximum supported gtpv2c packet length including header */
-
-/**
- * NwGtpv2cMsgT holds gtpv2c messages to/from the peer.
- */
-typedef struct NwGtpv2cMsgS {
- uint8_t version;
- uint8_t teidPresent;
- uint8_t msgType;
- uint16_t msgLen;
- uint32_t teid;
- uint32_t seqNum;
- uint8_t* pMsgStart;
-
-#define NW_GTPV2C_MAX_GROUPED_IE_DEPTH (2)
- struct {
- NwGtpv2cIeTlvT *pIe[NW_GTPV2C_MAX_GROUPED_IE_DEPTH];
- uint8_t top;
- } groupedIeEncodeStack;
-
- NwBoolT isIeValid[NW_GTPV2C_IE_TYPE_MAXIMUM][NW_GTPV2C_IE_INSTANCE_MAXIMUM];
- uint8_t *pIe[NW_GTPV2C_IE_TYPE_MAXIMUM][NW_GTPV2C_IE_INSTANCE_MAXIMUM];
- uint8_t msgBuf[NW_GTPV2C_MAX_MSG_LEN];
- NwGtpv2cStackHandleT hStack;
- struct NwGtpv2cMsgS* next;
-} NwGtpv2cMsgT;
-
-/**
- * Transaction structure
- */
-
-typedef struct NwGtpv2cTrxn {
- uint32_t seqNum;
- uint32_t peerIp;
- uint32_t peerPort;
- uint8_t t3Timer;
- uint8_t maxRetries;
- NwGtpv2cMsgT* pMsg;
- NwGtpv2cStackT* pStack;
- NwGtpv2cTimerHandleT hRspTmr; /**< Handle to reponse timer */
- NwGtpv2cTunnelHandleT hTunnel; /**< Handle to local tunnel context */
- NwGtpv2cUlpTrxnHandleT hUlpTrxn; /**< Handle to ULP tunnel context */
- RB_ENTRY (NwGtpv2cTrxn) outstandingTxSeqNumMapRbtNode; /**< RB Tree Data Structure Node */
- RB_ENTRY (NwGtpv2cTrxn) outstandingRxSeqNumMapRbtNode; /**< RB Tree Data Structure Node */
- struct NwGtpv2cTrxn* next;
-} NwGtpv2cTrxnT;
-
-/**
- * GTPv2c Path Context
- */
-
-typedef struct NwGtpv2cPathS {
- uint32_t hUlpPath; /**< Handle to ULP path contect */
- uint32_t ipv4Address;
- uint32_t restartCounter;
- uint16_t t3ResponseTimout;
- uint16_t n3RequestCount;
- NwGtpv2cTimerHandleT hKeepAliveTmr; /**< Handle to path keep alive echo timer */
- RB_ENTRY (NwGtpv2cPathS) pathMapRbtNode;
-} NwGtpv2cPathT;
-
-
-RB_PROTOTYPE(NwGtpv2cTunnelMap, NwGtpv2cTunnel, tunnelMapRbtNode, nwGtpv2cCompareTunnel)
-RB_PROTOTYPE(NwGtpv2cOutstandingTxSeqNumTrxnMap, NwGtpv2cTrxn, outstandingTxSeqNumMapRbtNode, nwGtpv2cCompareSeqNum)
-RB_PROTOTYPE(NwGtpv2cOutstandingRxSeqNumTrxnMap, NwGtpv2cTrxn, outstandingRxSeqNumMapRbtNode, nwGtpv2cCompareSeqNum)
-RB_PROTOTYPE(NwGtpv2cActiveTimerList, NwGtpv2cTimeoutInfo, activeTimerListRbtNode, nwGtpv2cCompareOutstandingTxRexmitTime)
-
-/**
- * Start Timer with ULP Timer Manager
- */
-
-NwRcT
-nwGtpv2cStartTimer(NwGtpv2cStackT* thiz,
- uint32_t timeoutSec,
- uint32_t timeoutUsec,
- uint32_t tmrType,
- NwRcT (*timeoutCallbackFunc)(void*),
- void* timeoutCallbackArg,
- NwGtpv2cTimerHandleT *phTimer);
-
-
-/**
- * Stop Timer with ULP Timer Manager
- */
-
-NwRcT
-nwGtpv2cStopTimer(NwGtpv2cStackT* thiz,
- NwGtpv2cTimerHandleT hTimer);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NW_GTPV2C_PRIVATE_H__ */
-/*--------------------------------------------------------------------------*
- * E N D O F F I L E *
- *--------------------------------------------------------------------------*/
-
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/include/NwGtpv2cTrxn.h b/openair-cn/GTPV2-C/nwgtpv2c-0.11/include/NwGtpv2cTrxn.h
deleted file mode 100644
index 26ae1875c3..0000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/include/NwGtpv2cTrxn.h
+++ /dev/null
@@ -1,117 +0,0 @@
-/*----------------------------------------------------------------------------*
- * *
- * n w - g t p v 2 c *
- * G P R S T u n n e l i n g P r o t o c o l v 2 c S t a c k *
- * *
- * *
- * Copyright (c) 2010-2011 Amit Chawre *
- * All rights reserved. *
- * *
- * Redistribution and use in source and binary forms, with or without *
- * modification, are permitted provided that the following conditions *
- * are met: *
- * *
- * 1. Redistributions of source code must retain the above copyright *
- * notice, this list of conditions and the following disclaimer. *
- * 2. Redistributions in binary form must reproduce the above copyright *
- * notice, this list of conditions and the following disclaimer in the *
- * documentation and/or other materials provided with the distribution. *
- * 3. The name of the author may not be used to endorse or promote products *
- * derived from this software without specific prior written permission. *
- * *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR *
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES *
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. *
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, *
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT *
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, *
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY *
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF *
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *
- *----------------------------------------------------------------------------*/
-
-/**
- * @file NwGtpv2cTrxn.h
- * @author Amit Chawre
- * @brief
- *
- * This header file contains required definitions and functions
- * prototypes used by gtpv2c transactions.
- *
- **/
-
-
-#ifndef __NW_GTPV2C_TRXN_H__
-#define __NW_GTPV2C_TRXN_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * Constructotr
- */
-NwGtpv2cTrxnT*
-nwGtpv2cTrxnNew( NW_IN NwGtpv2cStackT* pStack);
-
-/**
- * Overloaded Constructotr
- */
-NwGtpv2cTrxnT*
-nwGtpv2cTrxnWithSeqNumNew( NW_IN NwGtpv2cStackT* pStack,
- NW_IN uint32_t seqNum);
-
-/**
- * Another overloaded constructor. Create transaction as outstanding
- * RX transaction for detecting duplicated requests.
- *
- * @param[in] thiz : Pointer to stack.
- * @param[in] teidLocal : Trxn teid.
- * @param[in] peerIp : Peer Ip address.
- * @param[in] peerPort : Peer Ip port.
- * @param[in] seqNum : Seq Number.
- * @return NW_OK on success.
- */
-
-NwGtpv2cTrxnT*
-nwGtpv2cTrxnOutstandingRxNew( NW_IN NwGtpv2cStackT* pStack,
- NW_IN uint32_t teidLocal,
- NW_IN uint32_t peerIp,
- NW_IN uint32_t peerPort,
- NW_IN uint32_t seqNum);
-
-NwRcT
-nwGtpv2cTrxnDelete( NW_INOUT NwGtpv2cTrxnT **ppTrxn);
-
-/**
- * Start timer to wait before pruginf a req tran for which response has been sent
- *
- * @param[in] thiz : Pointer to transaction
- * @return NW_OK on success.
- */
-
-NwRcT
-nwGtpv2cTrxnStartDulpicateRequestWaitTimer(NwGtpv2cTrxnT* thiz);
-
-/**
- * Start timer to wait for rsp of a req message
- *
- * @param[in] thiz : Pointer to transaction
- * @param[in] timeoutCallbackFunc : Timeout handler callback function.
- * @return NW_OK on success.
- */
-
-NwRcT
-nwGtpv2cTrxnStartPeerRspWaitTimer(NwGtpv2cTrxnT* thiz);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NW_GTPV2C_TRXN_H__ */
-
-/*--------------------------------------------------------------------------*
- * E N D O F F I L E *
- *--------------------------------------------------------------------------*/
-
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/include/NwGtpv2cTunnel.h b/openair-cn/GTPV2-C/nwgtpv2c-0.11/include/NwGtpv2cTunnel.h
deleted file mode 100644
index 33c437ada7..0000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/include/NwGtpv2cTunnel.h
+++ /dev/null
@@ -1,79 +0,0 @@
-/*----------------------------------------------------------------------------*
- * *
- * n w - g t p v 2 c *
- * G P R S T u n n e l i n g P r o t o c o l v 2 c S t a c k *
- * *
- * *
- * Copyright (c) 2010-2011 Amit Chawre *
- * All rights reserved. *
- * *
- * Redistribution and use in source and binary forms, with or without *
- * modification, are permitted provided that the following conditions *
- * are met: *
- * *
- * 1. Redistributions of source code must retain the above copyright *
- * notice, this list of conditions and the following disclaimer. *
- * 2. Redistributions in binary form must reproduce the above copyright *
- * notice, this list of conditions and the following disclaimer in the *
- * documentation and/or other materials provided with the distribution. *
- * 3. The name of the author may not be used to endorse or promote products *
- * derived from this software without specific prior written permission. *
- * *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR *
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES *
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. *
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, *
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT *
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, *
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY *
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF *
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *
- *----------------------------------------------------------------------------*/
-
-#ifndef __NW_GTPV2C_TUNNEL_H__
-#define __NW_GTPV2C_TUNNEL_H__
-
-#include
-#include
-#include
-
-#include "tree.h"
-#include "NwTypes.h"
-#include "NwUtils.h"
-#include "NwError.h"
-#include "NwGtpv2c.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-struct NwGtpv2cStack;
-
-typedef struct NwGtpv2cTunnel {
- uint32_t teid;
- uint32_t ipv4AddrRemote;
- NwGtpv2cUlpTunnelHandleT hUlpTunnel;
- RB_ENTRY (NwGtpv2cTunnel) tunnelMapRbtNode; /**< RB Tree Data Structure Node */
- struct NwGtpv2cTunnel* next;
-} NwGtpv2cTunnelT;
-
-NwGtpv2cTunnelT*
-nwGtpv2cTunnelNew(struct NwGtpv2cStack *hStack, uint32_t teid, uint32_t peerIpv4Addr, NwGtpv2cUlpTunnelHandleT hUlpTunnel);
-
-NwRcT
-nwGtpv2cTunnelDelete(struct NwGtpv2cStack *pStack, NwGtpv2cTunnelT* thiz);
-
-NwRcT
-nwGtpv2cTunnelGetUlpTunnelHandle( NwGtpv2cTunnelT* thiz, NwGtpv2cUlpTunnelHandleT* phUlpTunnel);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-/*--------------------------------------------------------------------------*
- * E N D O F F I L E *
- *--------------------------------------------------------------------------*/
-
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/include/queue.h b/openair-cn/GTPV2-C/nwgtpv2c-0.11/include/queue.h
deleted file mode 100644
index 457220bc98..0000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/include/queue.h
+++ /dev/null
@@ -1,566 +0,0 @@
-/*
- * Copyright (c) 1991, 1993
- * The Regents of the University of California. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the University of
- * California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * @(#)queue.h 8.5 (Berkeley) 8/20/94
- * $FreeBSD: src/sys/sys/queue.h,v 1.32.2.6 2001/12/18 10:09:02 ru Exp $
- */
-
-#ifndef _SYS_QUEUE_H_
-#define _SYS_QUEUE_H_
-
-
-/*
- * This file defines five types of data structures: singly-linked lists,
- * singly-linked tail queues, lists, tail queues, and circular queues.
- *
- * A singly-linked list is headed by a single forward pointer. The elements
- * are singly linked for minimum space and pointer manipulation overhead at
- * the expense of O(n) removal for arbitrary elements. New elements can be
- * added to the list after an existing element or at the head of the list.
- * Elements being removed from the head of the list should use the explicit
- * macro for this purpose for tmpimum efficiency. A singly-linked list may
- * only be traversed in the forward direction. Singly-linked lists are ideal
- * for applications with large datasets and few or no removals or for
- * implementing a LIFO queue.
- *
- * A singly-linked tail queue is headed by a pair of pointers, one to the
- * head of the list and the other to the tail of the list. The elements are
- * singly linked for minimum space and pointer manipulation overhead at the
- * expense of O(n) removal for arbitrary elements. New elements can be added
- * to the list after an existing element, at the head of the list, or at the
- * end of the list. Elements being removed from the head of the tail queue
- * should use the explicit macro for this purpose for tmpimum efficiency.
- * A singly-linked tail queue may only be traversed in the forward direction.
- * Singly-linked tail queues are ideal for applications with large datasets
- * and few or no removals or for implementing a FIFO queue.
- *
- * A list is headed by a single forward pointer (or an array of forward
- * pointers for a hash table header). The elements are doubly linked
- * so that an arbitrary element can be removed without a need to
- * traverse the list. New elements can be added to the list before
- * or after an existing element or at the head of the list. A list
- * may only be traversed in the forward direction.
- *
- * A tail queue is headed by a pair of pointers, one to the head of the
- * list and the other to the tail of the list. The elements are doubly
- * linked so that an arbitrary element can be removed without a need to
- * traverse the list. New elements can be added to the list before or
- * after an existing element, at the head of the list, or at the end of
- * the list. A tail queue may be traversed in either direction.
- *
- * A circle queue is headed by a pair of pointers, one to the head of the
- * list and the other to the tail of the list. The elements are doubly
- * linked so that an arbitrary element can be removed without a need to
- * traverse the list. New elements can be added to the list before or after
- * an existing element, at the head of the list, or at the end of the list.
- * A circle queue may be traversed in either direction, but has a more
- * complex end of list detection.
- *
- * For details on the use of these macros, see the queue(3) manual page.
- *
- *
- * SLIST LIST STAILQ TAILQ CIRCLEQ
- * _HEAD + + + + +
- * _HEAD_INITIALIZER + + + + +
- * _ENTRY + + + + +
- * _INIT + + + + +
- * _EMPTY + + + + +
- * _FIRST + + + + +
- * _NEXT + + + + +
- * _PREV - - - + +
- * _LAST - - + + +
- * _FOREACH + + + + +
- * _FOREACH_REVERSE - - - + +
- * _INSERT_HEAD + + + + +
- * _INSERT_BEFORE - + - + +
- * _INSERT_AFTER + + + + +
- * _INSERT_TAIL - - + + +
- * _REMOVE_HEAD + - + - -
- * _REMOVE + + + + +
- *
- */
-
-/*
- * Singly-linked List declarations.
- */
-#define SLIST_HEAD(name, type) \
-struct name { \
- struct type *slh_first; /* first element */ \
-}
-
-#define SLIST_HEAD_INITIALIZER(head) \
- { NULL }
-
-#define SLIST_ENTRY(type) \
-struct { \
- struct type *sle_next; /* next element */ \
-}
-
-/*
- * Singly-linked List functions.
- */
-#define SLIST_EMPTY(head) ((head)->slh_first == NULL)
-
-#define SLIST_FIRST(head) ((head)->slh_first)
-
-#define SLIST_FOREACH(var, head, field) \
- for ((var) = SLIST_FIRST((head)); \
- (var); \
- (var) = SLIST_NEXT((var), field))
-
-#define SLIST_INIT(head) do { \
- SLIST_FIRST((head)) = NULL; \
-} while (0)
-
-#define SLIST_INSERT_AFTER(slistelm, elm, field) do { \
- SLIST_NEXT((elm), field) = SLIST_NEXT((slistelm), field); \
- SLIST_NEXT((slistelm), field) = (elm); \
-} while (0)
-
-#define SLIST_INSERT_HEAD(head, elm, field) do { \
- SLIST_NEXT((elm), field) = SLIST_FIRST((head)); \
- SLIST_FIRST((head)) = (elm); \
-} while (0)
-
-#define SLIST_NEXT(elm, field) ((elm)->field.sle_next)
-
-#define SLIST_REMOVE(head, elm, type, field) do { \
- if (SLIST_FIRST((head)) == (elm)) { \
- SLIST_REMOVE_HEAD((head), field); \
- } \
- else { \
- struct type *curelm = SLIST_FIRST((head)); \
- while (SLIST_NEXT(curelm, field) != (elm)) \
- curelm = SLIST_NEXT(curelm, field); \
- SLIST_NEXT(curelm, field) = \
- SLIST_NEXT(SLIST_NEXT(curelm, field), field); \
- } \
-} while (0)
-
-#define SLIST_REMOVE_HEAD(head, field) do { \
- SLIST_FIRST((head)) = SLIST_NEXT(SLIST_FIRST((head)), field); \
-} while (0)
-
-/*
- * Singly-linked Tail queue declarations.
- */
-#define STAILQ_HEAD(name, type) \
-struct name { \
- struct type *stqh_first;/* first element */ \
- struct type **stqh_last;/* addr of last next element */ \
-}
-
-#define STAILQ_HEAD_INITIALIZER(head) \
- { NULL, &(head).stqh_first }
-
-#define STAILQ_HEAD_INIT(head) do{ \
- (head).stqh_first = NULL; \
- (head).stqh_last = &(head).stqh_first; \
-}while(0)
-
-#define STAILQ_ENTRY(type) \
-struct { \
- struct type *stqe_next; /* next element */ \
-}
-
-/*
- * Singly-linked Tail queue functions.
- */
-#define STAILQ_EMPTY(head) ((head)->stqh_first == NULL)
-
-#define STAILQ_FIRST(head) ((head)->stqh_first)
-
-#define STAILQ_FOREACH(var, head, field) \
- for((var) = STAILQ_FIRST((head)); \
- (var); \
- (var) = STAILQ_NEXT((var), field))
-
-#define STAILQ_INIT(head) do { \
- STAILQ_FIRST((head)) = NULL; \
- (head)->stqh_last = &STAILQ_FIRST((head)); \
-} while (0)
-
-#define STAILQ_INSERT_AFTER(head, tqelm, elm, field) do { \
- if ((STAILQ_NEXT((elm), field) = STAILQ_NEXT((tqelm), field)) == NULL)\
- (head)->stqh_last = &STAILQ_NEXT((elm), field); \
- STAILQ_NEXT((tqelm), field) = (elm); \
-} while (0)
-
-#define STAILQ_INSERT_HEAD(head, elm, field) do { \
- if ((STAILQ_NEXT((elm), field) = STAILQ_FIRST((head))) == NULL) \
- (head)->stqh_last = &STAILQ_NEXT((elm), field); \
- STAILQ_FIRST((head)) = (elm); \
-} while (0)
-
-#define STAILQ_INSERT_TAIL(head, elm, field) do { \
- STAILQ_NEXT((elm), field) = NULL; \
- *(head)->stqh_last = (elm); \
- (head)->stqh_last = &STAILQ_NEXT((elm), field); \
-} while (0)
-
-#define STAILQ_LAST(head, type, field) \
- (STAILQ_EMPTY(head) ? \
- NULL : \
- ((struct type *) \
- ((char *)((head)->stqh_last) - __offsetof(struct type, field))))
-
-#define STAILQ_NEXT(elm, field) ((elm)->field.stqe_next)
-
-#define STAILQ_REMOVE(head, elm, type, field) do { \
- if (STAILQ_FIRST((head)) == (elm)) { \
- STAILQ_REMOVE_HEAD(head, field); \
- } \
- else { \
- struct type *curelm = STAILQ_FIRST((head)); \
- while (STAILQ_NEXT(curelm, field) != (elm)) \
- curelm = STAILQ_NEXT(curelm, field); \
- if ((STAILQ_NEXT(curelm, field) = \
- STAILQ_NEXT(STAILQ_NEXT(curelm, field), field)) == NULL)\
- (head)->stqh_last = &STAILQ_NEXT((curelm), field);\
- } \
-} while (0)
-
-#define STAILQ_REMOVE_HEAD(head, field) do { \
- if ((STAILQ_FIRST((head)) = \
- STAILQ_NEXT(STAILQ_FIRST((head)), field)) == NULL) \
- (head)->stqh_last = &STAILQ_FIRST((head)); \
-} while (0)
-
-#define STAILQ_REMOVE_HEAD_UNTIL(head, elm, field) do { \
- if ((STAILQ_FIRST((head)) = STAILQ_NEXT((elm), field)) == NULL) \
- (head)->stqh_last = &STAILQ_FIRST((head)); \
-} while (0)
-
-/*
- * List declarations.
- */
-#define LIST_HEAD(name, type) \
-struct name { \
- struct type *lh_first; /* first element */ \
-}
-
-#define LIST_HEAD_INITIALIZER(head) \
- { NULL }
-
-#define LIST_ENTRY(type) \
-struct { \
- struct type *le_next; /* next element */ \
- struct type **le_prev; /* address of previous next element */ \
-}
-
-/*
- * List functions.
- */
-
-#define LIST_EMPTY(head) ((head)->lh_first == NULL)
-
-#define LIST_FIRST(head) ((head)->lh_first)
-
-#define LIST_FOREACH(var, head, field) \
- for ((var) = LIST_FIRST((head)); \
- (var); \
- (var) = LIST_NEXT((var), field))
-
-#define LIST_INIT(head) do { \
- LIST_FIRST((head)) = NULL; \
-} while (0)
-
-#define LIST_INSERT_AFTER(listelm, elm, field) do { \
- if ((LIST_NEXT((elm), field) = LIST_NEXT((listelm), field)) != NULL)\
- LIST_NEXT((listelm), field)->field.le_prev = \
- &LIST_NEXT((elm), field); \
- LIST_NEXT((listelm), field) = (elm); \
- (elm)->field.le_prev = &LIST_NEXT((listelm), field); \
-} while (0)
-
-#define LIST_INSERT_BEFORE(listelm, elm, field) do { \
- (elm)->field.le_prev = (listelm)->field.le_prev; \
- LIST_NEXT((elm), field) = (listelm); \
- *(listelm)->field.le_prev = (elm); \
- (listelm)->field.le_prev = &LIST_NEXT((elm), field); \
-} while (0)
-
-#define LIST_INSERT_HEAD(head, elm, field) do { \
- if ((LIST_NEXT((elm), field) = LIST_FIRST((head))) != NULL) \
- LIST_FIRST((head))->field.le_prev = &LIST_NEXT((elm), field);\
- LIST_FIRST((head)) = (elm); \
- (elm)->field.le_prev = &LIST_FIRST((head)); \
-} while (0)
-
-#define LIST_NEXT(elm, field) ((elm)->field.le_next)
-
-#define LIST_REMOVE(elm, field) do { \
- if (LIST_NEXT((elm), field) != NULL) \
- LIST_NEXT((elm), field)->field.le_prev = \
- (elm)->field.le_prev; \
- *(elm)->field.le_prev = LIST_NEXT((elm), field); \
-} while (0)
-
-/*
- * Tail queue declarations.
- */
-#define TAILQ_HEAD(name, type) \
-struct name { \
- struct type *tqh_first; /* first element */ \
- struct type **tqh_last; /* addr of last next element */ \
-}
-
-#define TAILQ_HEAD_INITIALIZER(head) \
- { NULL, &(head).tqh_first }
-
-#define TAILQ_ENTRY(type) \
-struct { \
- struct type *tqe_next; /* next element */ \
- struct type **tqe_prev; /* address of previous next element */ \
-}
-
-/*
- * Tail queue functions.
- */
-#define TAILQ_EMPTY(head) ((head)->tqh_first == NULL)
-
-#define TAILQ_FIRST(head) ((head)->tqh_first)
-
-#define TAILQ_FOREACH(var, head, field) \
- for ((var) = TAILQ_FIRST((head)); \
- (var); \
- (var) = TAILQ_NEXT((var), field))
-
-#define TAILQ_FOREACH_REVERSE(var, head, headname, field) \
- for ((var) = TAILQ_LAST((head), headname); \
- (var); \
- (var) = TAILQ_PREV((var), headname, field))
-
-#define TAILQ_INIT(head) do { \
- TAILQ_FIRST((head)) = NULL; \
- (head)->tqh_last = &TAILQ_FIRST((head)); \
-} while (0)
-
-#define TAILQ_INSERT_AFTER(head, listelm, elm, field) do { \
- if ((TAILQ_NEXT((elm), field) = TAILQ_NEXT((listelm), field)) != NULL)\
- TAILQ_NEXT((elm), field)->field.tqe_prev = \
- &TAILQ_NEXT((elm), field); \
- else \
- (head)->tqh_last = &TAILQ_NEXT((elm), field); \
- TAILQ_NEXT((listelm), field) = (elm); \
- (elm)->field.tqe_prev = &TAILQ_NEXT((listelm), field); \
-} while (0)
-
-#define TAILQ_INSERT_BEFORE(listelm, elm, field) do { \
- (elm)->field.tqe_prev = (listelm)->field.tqe_prev; \
- TAILQ_NEXT((elm), field) = (listelm); \
- *(listelm)->field.tqe_prev = (elm); \
- (listelm)->field.tqe_prev = &TAILQ_NEXT((elm), field); \
-} while (0)
-
-#define TAILQ_INSERT_HEAD(head, elm, field) do { \
- if ((TAILQ_NEXT((elm), field) = TAILQ_FIRST((head))) != NULL) \
- TAILQ_FIRST((head))->field.tqe_prev = \
- &TAILQ_NEXT((elm), field); \
- else \
- (head)->tqh_last = &TAILQ_NEXT((elm), field); \
- TAILQ_FIRST((head)) = (elm); \
- (elm)->field.tqe_prev = &TAILQ_FIRST((head)); \
-} while (0)
-
-#define TAILQ_INSERT_TAIL(head, elm, field) do { \
- TAILQ_NEXT((elm), field) = NULL; \
- (elm)->field.tqe_prev = (head)->tqh_last; \
- *(head)->tqh_last = (elm); \
- (head)->tqh_last = &TAILQ_NEXT((elm), field); \
-} while (0)
-
-#define TAILQ_LAST(head, headname) \
- (*(((struct headname *)((head)->tqh_last))->tqh_last))
-
-#define TAILQ_NEXT(elm, field) ((elm)->field.tqe_next)
-
-#define TAILQ_PREV(elm, headname, field) \
- (*(((struct headname *)((elm)->field.tqe_prev))->tqh_last))
-
-#define TAILQ_REMOVE(head, elm, field) do { \
- if ((TAILQ_NEXT((elm), field)) != NULL) \
- TAILQ_NEXT((elm), field)->field.tqe_prev = \
- (elm)->field.tqe_prev; \
- else \
- (head)->tqh_last = (elm)->field.tqe_prev; \
- *(elm)->field.tqe_prev = TAILQ_NEXT((elm), field); \
-} while (0)
-
-/*
- * Circular queue declarations.
- */
-#define CIRCLEQ_HEAD(name, type) \
-struct name { \
- struct type *cqh_first; /* first element */ \
- struct type *cqh_last; /* last element */ \
-}
-
-#define CIRCLEQ_HEAD_INITIALIZER(head) \
- { (void *)&(head), (void *)&(head) }
-
-#define CIRCLEQ_ENTRY(type) \
-struct { \
- struct type *cqe_next; /* next element */ \
- struct type *cqe_prev; /* previous element */ \
-}
-
-/*
- * Circular queue functions.
- */
-#define CIRCLEQ_EMPTY(head) ((head)->cqh_first == (void *)(head))
-
-#define CIRCLEQ_FIRST(head) ((head)->cqh_first)
-
-#define CIRCLEQ_FOREACH(var, head, field) \
- for ((var) = CIRCLEQ_FIRST((head)); \
- (var) != (void *)(head); \
- (var) = CIRCLEQ_NEXT((var), field))
-
-#define CIRCLEQ_FOREACH_REVERSE(var, head, field) \
- for ((var) = CIRCLEQ_LAST((head)); \
- (var) != (void *)(head); \
- (var) = CIRCLEQ_PREV((var), field))
-
-#define CIRCLEQ_INIT(head) do { \
- CIRCLEQ_FIRST((head)) = (void *)(head); \
- CIRCLEQ_LAST((head)) = (void *)(head); \
-} while (0)
-
-#define CIRCLEQ_INSERT_AFTER(head, listelm, elm, field) do { \
- CIRCLEQ_NEXT((elm), field) = CIRCLEQ_NEXT((listelm), field); \
- CIRCLEQ_PREV((elm), field) = (listelm); \
- if (CIRCLEQ_NEXT((listelm), field) == (void *)(head)) \
- CIRCLEQ_LAST((head)) = (elm); \
- else \
- CIRCLEQ_PREV(CIRCLEQ_NEXT((listelm), field), field) = (elm);\
- CIRCLEQ_NEXT((listelm), field) = (elm); \
-} while (0)
-
-#define CIRCLEQ_INSERT_BEFORE(head, listelm, elm, field) do { \
- CIRCLEQ_NEXT((elm), field) = (listelm); \
- CIRCLEQ_PREV((elm), field) = CIRCLEQ_PREV((listelm), field); \
- if (CIRCLEQ_PREV((listelm), field) == (void *)(head)) \
- CIRCLEQ_FIRST((head)) = (elm); \
- else \
- CIRCLEQ_NEXT(CIRCLEQ_PREV((listelm), field), field) = (elm);\
- CIRCLEQ_PREV((listelm), field) = (elm); \
-} while (0)
-
-#define CIRCLEQ_INSERT_HEAD(head, elm, field) do { \
- CIRCLEQ_NEXT((elm), field) = CIRCLEQ_FIRST((head)); \
- CIRCLEQ_PREV((elm), field) = (void *)(head); \
- if (CIRCLEQ_LAST((head)) == (void *)(head)) \
- CIRCLEQ_LAST((head)) = (elm); \
- else \
- CIRCLEQ_PREV(CIRCLEQ_FIRST((head)), field) = (elm); \
- CIRCLEQ_FIRST((head)) = (elm); \
-} while (0)
-
-#define CIRCLEQ_INSERT_TAIL(head, elm, field) do { \
- CIRCLEQ_NEXT((elm), field) = (void *)(head); \
- CIRCLEQ_PREV((elm), field) = CIRCLEQ_LAST((head)); \
- if (CIRCLEQ_FIRST((head)) == (void *)(head)) \
- CIRCLEQ_FIRST((head)) = (elm); \
- else \
- CIRCLEQ_NEXT(CIRCLEQ_LAST((head)), field) = (elm); \
- CIRCLEQ_LAST((head)) = (elm); \
-} while (0)
-
-#define CIRCLEQ_LAST(head) ((head)->cqh_last)
-
-#define CIRCLEQ_NEXT(elm,field) ((elm)->field.cqe_next)
-
-#define CIRCLEQ_PREV(elm,field) ((elm)->field.cqe_prev)
-
-#define CIRCLEQ_REMOVE(head, elm, field) do { \
- if (CIRCLEQ_NEXT((elm), field) == (void *)(head)) \
- CIRCLEQ_LAST((head)) = CIRCLEQ_PREV((elm), field); \
- else \
- CIRCLEQ_PREV(CIRCLEQ_NEXT((elm), field), field) = \
- CIRCLEQ_PREV((elm), field); \
- if (CIRCLEQ_PREV((elm), field) == (void *)(head)) \
- CIRCLEQ_FIRST((head)) = CIRCLEQ_NEXT((elm), field); \
- else \
- CIRCLEQ_NEXT(CIRCLEQ_PREV((elm), field), field) = \
- CIRCLEQ_NEXT((elm), field); \
-} while (0)
-
-#ifdef _KERNEL
-
-/*
- * XXX insque() and remque() are an old way of handling certain queues.
- * They bogusly assumes that all queue heads look alike.
- */
-
-struct quehead {
- struct quehead *qh_link;
- struct quehead *qh_rlink;
-};
-
-#ifdef __GNUC__
-
-static __inline void
-insque(void *a, void *b)
-{
- struct quehead *element = (struct quehead *)a,
- *head = (struct quehead *)b;
-
- element->qh_link = head->qh_link;
- element->qh_rlink = head;
- head->qh_link = element;
- element->qh_link->qh_rlink = element;
-}
-
-static __inline void
-remque(void *a)
-{
- struct quehead *element = (struct quehead *)a;
-
- element->qh_link->qh_rlink = element->qh_rlink;
- element->qh_rlink->qh_link = element->qh_link;
- element->qh_rlink = 0;
-}
-
-#else /* !__GNUC__ */
-
-void insque __P((void *a, void *b));
-void remque __P((void *a));
-
-#endif /* __GNUC__ */
-
-#endif /* _KERNEL */
-
-#endif /* !_SYS_QUEUE_H_ */
-
-
-
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/include/tree.h b/openair-cn/GTPV2-C/nwgtpv2c-0.11/include/tree.h
deleted file mode 100644
index 351df9dfc5..0000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/include/tree.h
+++ /dev/null
@@ -1,678 +0,0 @@
-/*
- * Copyright 2002 Niels Provos
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef _SYS_TREE_H_
-#define _SYS_TREE_H_
-
-/*
- * This file defines data structures for different types of trees:
- * splay trees and red-black trees.
- *
- * A splay tree is a self-organizing data structure. Every operation
- * on the tree causes a splay to happen. The splay moves the requested
- * node to the root of the tree and partly rebalances it.
- *
- * This has the benefit that request locality causes faster lookups as
- * the requested nodes move to the top of the tree. On the other hand,
- * every lookup causes memory writes.
- *
- * The Balance Theorem bounds the total access time for m operations
- * and n inserts on an initially empty tree as O((m + n)lg n). The
- * amortized cost for a sequence of m accesses to a splay tree is O(lg n);
- *
- * A red-black tree is a binary search tree with the node color as an
- * extra attribute. It fulfills a set of conditions:
- * - every search path from the root to a leaf consists of the
- * same number of black nodes,
- * - each red node (except for the root) has a black parent,
- * - each leaf node is black.
- *
- * Every operation on a red-black tree is bounded as O(lg n).
- * The maximum height of a red-black tree is 2lg (n+1).
- */
-
-#define SPLAY_HEAD(name, type) \
-struct name { \
- struct type *sph_root; /* root of the tree */ \
-}
-
-#define SPLAY_INITIALIZER(root) \
- { NULL }
-
-#define SPLAY_INIT(root) do { \
- (root)->sph_root = NULL; \
-} while (0)
-
-#define SPLAY_ENTRY(type) \
-struct { \
- struct type *spe_left; /* left element */ \
- struct type *spe_right; /* right element */ \
-}
-
-#define SPLAY_LEFT(elm, field) (elm)->field.spe_left
-#define SPLAY_RIGHT(elm, field) (elm)->field.spe_right
-#define SPLAY_ROOT(head) (head)->sph_root
-#define SPLAY_EMPTY(head) (SPLAY_ROOT(head) == NULL)
-
-/* SPLAY_ROTATE_{LEFT,RIGHT} expect that tmp hold SPLAY_{RIGHT,LEFT} */
-#define SPLAY_ROTATE_RIGHT(head, tmp, field) do { \
- SPLAY_LEFT((head)->sph_root, field) = SPLAY_RIGHT(tmp, field); \
- SPLAY_RIGHT(tmp, field) = (head)->sph_root; \
- (head)->sph_root = tmp; \
-} while (0)
-
-#define SPLAY_ROTATE_LEFT(head, tmp, field) do { \
- SPLAY_RIGHT((head)->sph_root, field) = SPLAY_LEFT(tmp, field); \
- SPLAY_LEFT(tmp, field) = (head)->sph_root; \
- (head)->sph_root = tmp; \
-} while (0)
-
-#define SPLAY_LINKLEFT(head, tmp, field) do { \
- SPLAY_LEFT(tmp, field) = (head)->sph_root; \
- tmp = (head)->sph_root; \
- (head)->sph_root = SPLAY_LEFT((head)->sph_root, field); \
-} while (0)
-
-#define SPLAY_LINKRIGHT(head, tmp, field) do { \
- SPLAY_RIGHT(tmp, field) = (head)->sph_root; \
- tmp = (head)->sph_root; \
- (head)->sph_root = SPLAY_RIGHT((head)->sph_root, field); \
-} while (0)
-
-#define SPLAY_ASSEMBLE(head, node, left, right, field) do { \
- SPLAY_RIGHT(left, field) = SPLAY_LEFT((head)->sph_root, field); \
- SPLAY_LEFT(right, field) = SPLAY_RIGHT((head)->sph_root, field);\
- SPLAY_LEFT((head)->sph_root, field) = SPLAY_RIGHT(node, field); \
- SPLAY_RIGHT((head)->sph_root, field) = SPLAY_LEFT(node, field); \
-} while (0)
-
-/* Generates prototypes and inline functions */
-
-#define SPLAY_PROTOTYPE(name, type, field, cmp) \
-void name##_SPLAY(struct name *, struct type *); \
-void name##_SPLAY_MINMAX(struct name *, int); \
-struct type *name##_SPLAY_INSERT(struct name *, struct type *); \
-struct type *name##_SPLAY_REMOVE(struct name *, struct type *); \
- \
-/* Finds the node with the same key as elm */ \
-static __inline struct type * \
-name##_SPLAY_FIND(struct name *head, struct type *elm) \
-{ \
- if (SPLAY_EMPTY(head)) \
- return(NULL); \
- name##_SPLAY(head, elm); \
- if ((cmp)(elm, (head)->sph_root) == 0) \
- return (head->sph_root); \
- return (NULL); \
-} \
- \
-static __inline struct type * \
-name##_SPLAY_NEXT(struct name *head, struct type *elm) \
-{ \
- name##_SPLAY(head, elm); \
- if (SPLAY_RIGHT(elm, field) != NULL) { \
- elm = SPLAY_RIGHT(elm, field); \
- while (SPLAY_LEFT(elm, field) != NULL) { \
- elm = SPLAY_LEFT(elm, field); \
- } \
- } else \
- elm = NULL; \
- return (elm); \
-} \
- \
-static __inline struct type * \
-name##_SPLAY_MIN_MAX(struct name *head, int val) \
-{ \
- name##_SPLAY_MINMAX(head, val); \
- return (SPLAY_ROOT(head)); \
-}
-
-/* Main splay operation.
- * Moves node close to the key of elm to top
- */
-#define SPLAY_GENERATE(name, type, field, cmp) \
-struct type * \
-name##_SPLAY_INSERT(struct name *head, struct type *elm) \
-{ \
- if (SPLAY_EMPTY(head)) { \
- SPLAY_LEFT(elm, field) = SPLAY_RIGHT(elm, field) = NULL; \
- } else { \
- int __comp; \
- name##_SPLAY(head, elm); \
- __comp = (cmp)(elm, (head)->sph_root); \
- if(__comp < 0) { \
- SPLAY_LEFT(elm, field) = SPLAY_LEFT((head)->sph_root, field);\
- SPLAY_RIGHT(elm, field) = (head)->sph_root; \
- SPLAY_LEFT((head)->sph_root, field) = NULL; \
- } else if (__comp > 0) { \
- SPLAY_RIGHT(elm, field) = SPLAY_RIGHT((head)->sph_root, field);\
- SPLAY_LEFT(elm, field) = (head)->sph_root; \
- SPLAY_RIGHT((head)->sph_root, field) = NULL; \
- } else \
- return ((head)->sph_root); \
- } \
- (head)->sph_root = (elm); \
- return (NULL); \
-} \
- \
-struct type * \
-name##_SPLAY_REMOVE(struct name *head, struct type *elm) \
-{ \
- struct type *__tmp; \
- if (SPLAY_EMPTY(head)) \
- return (NULL); \
- name##_SPLAY(head, elm); \
- if ((cmp)(elm, (head)->sph_root) == 0) { \
- if (SPLAY_LEFT((head)->sph_root, field) == NULL) { \
- (head)->sph_root = SPLAY_RIGHT((head)->sph_root, field);\
- } else { \
- __tmp = SPLAY_RIGHT((head)->sph_root, field); \
- (head)->sph_root = SPLAY_LEFT((head)->sph_root, field);\
- name##_SPLAY(head, elm); \
- SPLAY_RIGHT((head)->sph_root, field) = __tmp; \
- } \
- return (elm); \
- } \
- return (NULL); \
-} \
- \
-void \
-name##_SPLAY(struct name *head, struct type *elm) \
-{ \
- struct type __node, *__left, *__right, *__tmp; \
- int __comp; \
-\
- SPLAY_LEFT(&__node, field) = SPLAY_RIGHT(&__node, field) = NULL;\
- __left = __right = &__node; \
-\
- while ((__comp = (cmp)(elm, (head)->sph_root))) { \
- if (__comp < 0) { \
- __tmp = SPLAY_LEFT((head)->sph_root, field); \
- if (__tmp == NULL) \
- break; \
- if ((cmp)(elm, __tmp) < 0){ \
- SPLAY_ROTATE_RIGHT(head, __tmp, field); \
- if (SPLAY_LEFT((head)->sph_root, field) == NULL)\
- break; \
- } \
- SPLAY_LINKLEFT(head, __right, field); \
- } else if (__comp > 0) { \
- __tmp = SPLAY_RIGHT((head)->sph_root, field); \
- if (__tmp == NULL) \
- break; \
- if ((cmp)(elm, __tmp) > 0){ \
- SPLAY_ROTATE_LEFT(head, __tmp, field); \
- if (SPLAY_RIGHT((head)->sph_root, field) == NULL)\
- break; \
- } \
- SPLAY_LINKRIGHT(head, __left, field); \
- } \
- } \
- SPLAY_ASSEMBLE(head, &__node, __left, __right, field); \
-} \
- \
-/* Splay with either the minimum or the maximum element \
- * Used to find minimum or maximum element in tree. \
- */ \
-void name##_SPLAY_MINMAX(struct name *head, int __comp) \
-{ \
- struct type __node, *__left, *__right, *__tmp; \
-\
- SPLAY_LEFT(&__node, field) = SPLAY_RIGHT(&__node, field) = NULL;\
- __left = __right = &__node; \
-\
- while (1) { \
- if (__comp < 0) { \
- __tmp = SPLAY_LEFT((head)->sph_root, field); \
- if (__tmp == NULL) \
- break; \
- if (__comp < 0){ \
- SPLAY_ROTATE_RIGHT(head, __tmp, field); \
- if (SPLAY_LEFT((head)->sph_root, field) == NULL)\
- break; \
- } \
- SPLAY_LINKLEFT(head, __right, field); \
- } else if (__comp > 0) { \
- __tmp = SPLAY_RIGHT((head)->sph_root, field); \
- if (__tmp == NULL) \
- break; \
- if (__comp > 0) { \
- SPLAY_ROTATE_LEFT(head, __tmp, field); \
- if (SPLAY_RIGHT((head)->sph_root, field) == NULL)\
- break; \
- } \
- SPLAY_LINKRIGHT(head, __left, field); \
- } \
- } \
- SPLAY_ASSEMBLE(head, &__node, __left, __right, field); \
-}
-
-#define SPLAY_NEGINF -1
-#define SPLAY_INF 1
-
-#define SPLAY_INSERT(name, x, y) name##_SPLAY_INSERT(x, y)
-#define SPLAY_REMOVE(name, x, y) name##_SPLAY_REMOVE(x, y)
-#define SPLAY_FIND(name, x, y) name##_SPLAY_FIND(x, y)
-#define SPLAY_NEXT(name, x, y) name##_SPLAY_NEXT(x, y)
-#define SPLAY_MIN(name, x) (SPLAY_EMPTY(x) ? NULL \
- : name##_SPLAY_MIN_MAX(x, SPLAY_NEGINF))
-#define SPLAY_MAX(name, x) (SPLAY_EMPTY(x) ? NULL \
- : name##_SPLAY_MIN_MAX(x, SPLAY_INF))
-
-#define SPLAY_FOREACH(x, name, head) \
- for ((x) = SPLAY_MIN(name, head); \
- (x) != NULL; \
- (x) = SPLAY_NEXT(name, head, x))
-
-/* Macros that define a red-back tree */
-#define RB_HEAD(name, type) \
-struct name { \
- struct type *rbh_root; /* root of the tree */ \
-}
-
-#define RB_INITIALIZER(root) \
- { NULL }
-
-#define RB_INIT(root) do { \
- (root)->rbh_root = NULL; \
-} while (0)
-
-#define RB_BLACK 0
-#define RB_RED 1
-#define RB_ENTRY(type) \
-struct { \
- struct type *rbe_left; /* left element */ \
- struct type *rbe_right; /* right element */ \
- struct type *rbe_parent; /* parent element */ \
- int rbe_color; /* node color */ \
-}
-
-#define RB_LEFT(elm, field) (elm)->field.rbe_left
-#define RB_RIGHT(elm, field) (elm)->field.rbe_right
-#define RB_PARENT(elm, field) (elm)->field.rbe_parent
-#define RB_COLOR(elm, field) (elm)->field.rbe_color
-#define RB_ROOT(head) (head)->rbh_root
-#define RB_EMPTY(head) (RB_ROOT(head) == NULL)
-
-#define RB_SET(elm, parent, field) do { \
- RB_PARENT(elm, field) = parent; \
- RB_LEFT(elm, field) = RB_RIGHT(elm, field) = NULL; \
- RB_COLOR(elm, field) = RB_RED; \
-} while (0)
-
-#define RB_SET_BLACKRED(black, red, field) do { \
- RB_COLOR(black, field) = RB_BLACK; \
- RB_COLOR(red, field) = RB_RED; \
-} while (0)
-
-#ifndef RB_AUGMENT
-#define RB_AUGMENT(x)
-#endif
-
-#define RB_ROTATE_LEFT(head, elm, tmp, field) do { \
- (tmp) = RB_RIGHT(elm, field); \
- if ((RB_RIGHT(elm, field) = RB_LEFT(tmp, field))) { \
- RB_PARENT(RB_LEFT(tmp, field), field) = (elm); \
- } \
- RB_AUGMENT(elm); \
- if ((RB_PARENT(tmp, field) = RB_PARENT(elm, field))) { \
- if ((elm) == RB_LEFT(RB_PARENT(elm, field), field)) \
- RB_LEFT(RB_PARENT(elm, field), field) = (tmp); \
- else \
- RB_RIGHT(RB_PARENT(elm, field), field) = (tmp); \
- } else \
- (head)->rbh_root = (tmp); \
- RB_LEFT(tmp, field) = (elm); \
- RB_PARENT(elm, field) = (tmp); \
- RB_AUGMENT(tmp); \
- if ((RB_PARENT(tmp, field))) \
- RB_AUGMENT(RB_PARENT(tmp, field)); \
-} while (0)
-
-#define RB_ROTATE_RIGHT(head, elm, tmp, field) do { \
- (tmp) = RB_LEFT(elm, field); \
- if ((RB_LEFT(elm, field) = RB_RIGHT(tmp, field))) { \
- RB_PARENT(RB_RIGHT(tmp, field), field) = (elm); \
- } \
- RB_AUGMENT(elm); \
- if ((RB_PARENT(tmp, field) = RB_PARENT(elm, field))) { \
- if ((elm) == RB_LEFT(RB_PARENT(elm, field), field)) \
- RB_LEFT(RB_PARENT(elm, field), field) = (tmp); \
- else \
- RB_RIGHT(RB_PARENT(elm, field), field) = (tmp); \
- } else \
- (head)->rbh_root = (tmp); \
- RB_RIGHT(tmp, field) = (elm); \
- RB_PARENT(elm, field) = (tmp); \
- RB_AUGMENT(tmp); \
- if ((RB_PARENT(tmp, field))) \
- RB_AUGMENT(RB_PARENT(tmp, field)); \
-} while (0)
-
-/* Generates prototypes and inline functions */
-#define RB_PROTOTYPE(name, type, field, cmp) \
-void name##_RB_INSERT_COLOR(struct name *, struct type *); \
-void name##_RB_REMOVE_COLOR(struct name *, struct type *, struct type *);\
-struct type *name##_RB_REMOVE(struct name *, struct type *); \
-struct type *name##_RB_INSERT(struct name *, struct type *); \
-struct type *name##_RB_FIND(struct name *, struct type *); \
-struct type *name##_RB_NEXT(struct type *); \
-struct type *name##_RB_MINMAX(struct name *, int); \
- \
-
-/* Main rb operation.
- * Moves node close to the key of elm to top
- */
-#define RB_GENERATE(name, type, field, cmp) \
-void \
-name##_RB_INSERT_COLOR(struct name *head, struct type *elm) \
-{ \
- struct type *parent, *gparent, *tmp; \
- while ((parent = RB_PARENT(elm, field)) && \
- RB_COLOR(parent, field) == RB_RED) { \
- gparent = RB_PARENT(parent, field); \
- if (parent == RB_LEFT(gparent, field)) { \
- tmp = RB_RIGHT(gparent, field); \
- if (tmp && RB_COLOR(tmp, field) == RB_RED) { \
- RB_COLOR(tmp, field) = RB_BLACK; \
- RB_SET_BLACKRED(parent, gparent, field);\
- elm = gparent; \
- continue; \
- } \
- if (RB_RIGHT(parent, field) == elm) { \
- RB_ROTATE_LEFT(head, parent, tmp, field);\
- tmp = parent; \
- parent = elm; \
- elm = tmp; \
- } \
- RB_SET_BLACKRED(parent, gparent, field); \
- RB_ROTATE_RIGHT(head, gparent, tmp, field); \
- } else { \
- tmp = RB_LEFT(gparent, field); \
- if (tmp && RB_COLOR(tmp, field) == RB_RED) { \
- RB_COLOR(tmp, field) = RB_BLACK; \
- RB_SET_BLACKRED(parent, gparent, field);\
- elm = gparent; \
- continue; \
- } \
- if (RB_LEFT(parent, field) == elm) { \
- RB_ROTATE_RIGHT(head, parent, tmp, field);\
- tmp = parent; \
- parent = elm; \
- elm = tmp; \
- } \
- RB_SET_BLACKRED(parent, gparent, field); \
- RB_ROTATE_LEFT(head, gparent, tmp, field); \
- } \
- } \
- RB_COLOR(head->rbh_root, field) = RB_BLACK; \
-} \
- \
-void \
-name##_RB_REMOVE_COLOR(struct name *head, struct type *parent, struct type *elm) \
-{ \
- struct type *tmp; \
- while ((elm == NULL || RB_COLOR(elm, field) == RB_BLACK) && \
- elm != RB_ROOT(head)) { \
- if (RB_LEFT(parent, field) == elm) { \
- tmp = RB_RIGHT(parent, field); \
- if (RB_COLOR(tmp, field) == RB_RED) { \
- RB_SET_BLACKRED(tmp, parent, field); \
- RB_ROTATE_LEFT(head, parent, tmp, field);\
- tmp = RB_RIGHT(parent, field); \
- } \
- if ((RB_LEFT(tmp, field) == NULL || \
- RB_COLOR(RB_LEFT(tmp, field), field) == RB_BLACK) &&\
- (RB_RIGHT(tmp, field) == NULL || \
- RB_COLOR(RB_RIGHT(tmp, field), field) == RB_BLACK)) {\
- RB_COLOR(tmp, field) = RB_RED; \
- elm = parent; \
- parent = RB_PARENT(elm, field); \
- } else { \
- if (RB_RIGHT(tmp, field) == NULL || \
- RB_COLOR(RB_RIGHT(tmp, field), field) == RB_BLACK) {\
- struct type *oleft; \
- if ((oleft = RB_LEFT(tmp, field)))\
- RB_COLOR(oleft, field) = RB_BLACK;\
- RB_COLOR(tmp, field) = RB_RED; \
- RB_ROTATE_RIGHT(head, tmp, oleft, field);\
- tmp = RB_RIGHT(parent, field); \
- } \
- RB_COLOR(tmp, field) = RB_COLOR(parent, field);\
- RB_COLOR(parent, field) = RB_BLACK; \
- if (RB_RIGHT(tmp, field)) \
- RB_COLOR(RB_RIGHT(tmp, field), field) = RB_BLACK;\
- RB_ROTATE_LEFT(head, parent, tmp, field);\
- elm = RB_ROOT(head); \
- break; \
- } \
- } else { \
- tmp = RB_LEFT(parent, field); \
- if (RB_COLOR(tmp, field) == RB_RED) { \
- RB_SET_BLACKRED(tmp, parent, field); \
- RB_ROTATE_RIGHT(head, parent, tmp, field);\
- tmp = RB_LEFT(parent, field); \
- } \
- if ((RB_LEFT(tmp, field) == NULL || \
- RB_COLOR(RB_LEFT(tmp, field), field) == RB_BLACK) &&\
- (RB_RIGHT(tmp, field) == NULL || \
- RB_COLOR(RB_RIGHT(tmp, field), field) == RB_BLACK)) {\
- RB_COLOR(tmp, field) = RB_RED; \
- elm = parent; \
- parent = RB_PARENT(elm, field); \
- } else { \
- if (RB_LEFT(tmp, field) == NULL || \
- RB_COLOR(RB_LEFT(tmp, field), field) == RB_BLACK) {\
- struct type *oright; \
- if ((oright = RB_RIGHT(tmp, field)))\
- RB_COLOR(oright, field) = RB_BLACK;\
- RB_COLOR(tmp, field) = RB_RED; \
- RB_ROTATE_LEFT(head, tmp, oright, field);\
- tmp = RB_LEFT(parent, field); \
- } \
- RB_COLOR(tmp, field) = RB_COLOR(parent, field);\
- RB_COLOR(parent, field) = RB_BLACK; \
- if (RB_LEFT(tmp, field)) \
- RB_COLOR(RB_LEFT(tmp, field), field) = RB_BLACK;\
- RB_ROTATE_RIGHT(head, parent, tmp, field);\
- elm = RB_ROOT(head); \
- break; \
- } \
- } \
- } \
- if (elm) \
- RB_COLOR(elm, field) = RB_BLACK; \
-} \
- \
-struct type * \
-name##_RB_REMOVE(struct name *head, struct type *elm) \
-{ \
- struct type *child, *parent, *old = elm; \
- int color; \
- if (RB_LEFT(elm, field) == NULL) \
- child = RB_RIGHT(elm, field); \
- else if (RB_RIGHT(elm, field) == NULL) \
- child = RB_LEFT(elm, field); \
- else { \
- struct type *left; \
- elm = RB_RIGHT(elm, field); \
- while ((left = RB_LEFT(elm, field))) \
- elm = left; \
- child = RB_RIGHT(elm, field); \
- parent = RB_PARENT(elm, field); \
- color = RB_COLOR(elm, field); \
- if (child) \
- RB_PARENT(child, field) = parent; \
- if (parent) { \
- if (RB_LEFT(parent, field) == elm) \
- RB_LEFT(parent, field) = child; \
- else \
- RB_RIGHT(parent, field) = child; \
- RB_AUGMENT(parent); \
- } else \
- RB_ROOT(head) = child; \
- if (RB_PARENT(elm, field) == old) \
- parent = elm; \
- (elm)->field = (old)->field; \
- if (RB_PARENT(old, field)) { \
- if (RB_LEFT(RB_PARENT(old, field), field) == old)\
- RB_LEFT(RB_PARENT(old, field), field) = elm;\
- else \
- RB_RIGHT(RB_PARENT(old, field), field) = elm;\
- RB_AUGMENT(RB_PARENT(old, field)); \
- } else \
- RB_ROOT(head) = elm; \
- RB_PARENT(RB_LEFT(old, field), field) = elm; \
- if (RB_RIGHT(old, field)) \
- RB_PARENT(RB_RIGHT(old, field), field) = elm; \
- if (parent) { \
- left = parent; \
- do { \
- RB_AUGMENT(left); \
- } while ((left = RB_PARENT(left, field))); \
- } \
- goto color; \
- } \
- parent = RB_PARENT(elm, field); \
- color = RB_COLOR(elm, field); \
- if (child) \
- RB_PARENT(child, field) = parent; \
- if (parent) { \
- if (RB_LEFT(parent, field) == elm) \
- RB_LEFT(parent, field) = child; \
- else \
- RB_RIGHT(parent, field) = child; \
- RB_AUGMENT(parent); \
- } else \
- RB_ROOT(head) = child; \
-color: \
- if (color == RB_BLACK) \
- name##_RB_REMOVE_COLOR(head, parent, child); \
- return (old); \
-} \
- \
-/* Inserts a node into the RB tree */ \
-struct type * \
-name##_RB_INSERT(struct name *head, struct type *elm) \
-{ \
- struct type *tmp; \
- struct type *parent = NULL; \
- int comp = 0; \
- tmp = RB_ROOT(head); \
- while (tmp) { \
- parent = tmp; \
- comp = (cmp)(elm, parent); \
- if (comp < 0) \
- tmp = RB_LEFT(tmp, field); \
- else if (comp > 0) \
- tmp = RB_RIGHT(tmp, field); \
- else \
- return (tmp); \
- } \
- RB_SET(elm, parent, field); \
- if (parent != NULL) { \
- if (comp < 0) \
- RB_LEFT(parent, field) = elm; \
- else \
- RB_RIGHT(parent, field) = elm; \
- RB_AUGMENT(parent); \
- } else \
- { \
- RB_ROOT(head) = elm; \
- } \
- name##_RB_INSERT_COLOR(head, elm); \
- return (NULL); \
-} \
- \
-/* Finds the node with the same key as elm */ \
-struct type * \
-name##_RB_FIND(struct name *head, struct type *elm) \
-{ \
- struct type *tmp = RB_ROOT(head); \
- int comp; \
- while (tmp) { \
- comp = cmp(elm, tmp); \
- if (comp < 0) \
- tmp = RB_LEFT(tmp, field); \
- else if (comp > 0) \
- tmp = RB_RIGHT(tmp, field); \
- else \
- return (tmp); \
- } \
- return (NULL); \
-} \
- \
-struct type * \
-name##_RB_NEXT(struct type *elm) \
-{ \
- if (RB_RIGHT(elm, field)) { \
- elm = RB_RIGHT(elm, field); \
- while (RB_LEFT(elm, field)) \
- elm = RB_LEFT(elm, field); \
- } else { \
- if (RB_PARENT(elm, field) && \
- (elm == RB_LEFT(RB_PARENT(elm, field), field))) \
- elm = RB_PARENT(elm, field); \
- else { \
- while (RB_PARENT(elm, field) && \
- (elm == RB_RIGHT(RB_PARENT(elm, field), field)))\
- elm = RB_PARENT(elm, field); \
- elm = RB_PARENT(elm, field); \
- } \
- } \
- return (elm); \
-} \
- \
-struct type * \
-name##_RB_MINMAX(struct name *head, int val) \
-{ \
- struct type *tmp = RB_ROOT(head); \
- struct type *parent = NULL; \
- while (tmp) { \
- parent = tmp; \
- if (val < 0) \
- tmp = RB_LEFT(tmp, field); \
- else \
- tmp = RB_RIGHT(tmp, field); \
- } \
- return (parent); \
-}
-
-#define RB_NEGINF -1
-#define RB_INF 1
-
-#define RB_INSERT(name, x, y) name##_RB_INSERT(x, y)
-#define RB_REMOVE(name, x, y) name##_RB_REMOVE(x, y)
-#define RB_FIND(name, x, y) name##_RB_FIND(x, y)
-#define RB_NEXT(name, x, y) name##_RB_NEXT(y)
-#define RB_MIN(name, x) name##_RB_MINMAX(x, RB_NEGINF)
-#define RB_MAX(name, x) name##_RB_MINMAX(x, RB_INF)
-
-#define RB_FOREACH(x, name, head) \
- for ((x) = RB_MIN(name, head); \
- (x) != NULL; \
- (x) = name##_RB_NEXT(x))
-
-#endif /* _SYS_TREE_H_ */
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/shared/NwError.h b/openair-cn/GTPV2-C/nwgtpv2c-0.11/shared/NwError.h
deleted file mode 100644
index 6389bedcb2..0000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/shared/NwError.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/*----------------------------------------------------------------------------*
- * *
- * n w - g t p v 2 c *
- * G P R S T u n n e l i n g P r o t o c o l v 2 c S t a c k *
- * *
- * *
- * Copyright (c) 2010-2011 Amit Chawre *
- * All rights reserved. *
- * *
- * Redistribution and use in source and binary forms, with or without *
- * modification, are permitted provided that the following conditions *
- * are met: *
- * *
- * 1. Redistributions of source code must retain the above copyright *
- * notice, this list of conditions and the following disclaimer. *
- * 2. Redistributions in binary form must reproduce the above copyright *
- * notice, this list of conditions and the following disclaimer in the *
- * documentation and/or other materials provided with the distribution. *
- * 3. The name of the author may not be used to endorse or promote products *
- * derived from this software without specific prior written permission. *
- * *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR *
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES *
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. *
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, *
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT *
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, *
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY *
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF *
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *
- *----------------------------------------------------------------------------*/
-
-
-#ifndef __NW_ERROR_H__
-#define __NW_ERROR_H__
-
-/**
- * @file NwError.h
- * @brief This header file contains return error code type definitions.
-*/
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef enum {
-
- NW_OK = 0x00000000,
- NW_GTPV2C_IE_MISSING,
- NW_GTPV2C_IE_INCORRECT,
- NW_GTPV2C_MANDATORY_IE_DUPLICATE,
- NW_GTPV2C_CONDITIONAL_IE_MISSING,
- NW_GTPV2C_MANDATORY_IE_MISSING,
- NW_GTPV2C_MSG_MALFORMED,
- NW_FAILURE = 0xFFFFFFFE
-}
-NwRcT;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NW_ERROR_CODE_H__ */
-
-
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/shared/NwGtpv2c.h b/openair-cn/GTPV2-C/nwgtpv2c-0.11/shared/NwGtpv2c.h
deleted file mode 100644
index e3178fb11b..0000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/shared/NwGtpv2c.h
+++ /dev/null
@@ -1,576 +0,0 @@
-/*----------------------------------------------------------------------------*
- * *
- * n w - g t p v 2 c *
- * G P R S T u n n e l i n g P r o t o c o l v 2 c S t a c k *
- * *
- * *
- * Copyright (c) 2010-2011 Amit Chawre *
- * All rights reserved. *
- * *
- * Redistribution and use in source and binary forms, with or without *
- * modification, are permitted provided that the following conditions *
- * are met: *
- * *
- * 1. Redistributions of source code must retain the above copyright *
- * notice, this list of conditions and the following disclaimer. *
- * 2. Redistributions in binary form must reproduce the above copyright *
- * notice, this list of conditions and the following disclaimer in the *
- * documentation and/or other materials provided with the distribution. *
- * 3. The name of the author may not be used to endorse or promote products *
- * derived from this software without specific prior written permission. *
- * *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR *
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES *
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. *
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, *
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT *
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, *
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY *
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF *
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *
- *----------------------------------------------------------------------------*/
-
-#ifndef __NW_GTPV2C_H__
-#define __NW_GTPV2C_H__
-
-#include
-#include
-#include
-#include "NwTypes.h"
-#include "NwError.h"
-
-/** @mainpage
-
- @section intro Introduction
-
- nw-gtpv2c library is a free and open source control plane implementation of GPRS
- Tunneling protocol v2 also known as eGTPc as per 3GPP TS29274-930.
- The library is published under BSD three clause license.
-
- @section scope Scope
-
- The stack library also does basic tasks like packet/header validation,
- retransmission and message parsing.
-
- @section design Design Philosophy
-
- The stack is fully-asynchronous in design for compatibility with event loop
- mechanisms such as select, poll, etc. and can also be used for multi-threaded
- applications. It should compile on Linux, *BSD, Mac OS X, Solaris and Windows
- (cygwin).
-
- The stack is designed for high portability not only for the hardware and OS it will
- run on but also for the application software that uses it. The stack doesn't mandate
- conditions on the user application architecture or design. The stack relies on
- the user application for infrastructure utilities such as I/O, timers,
- logs and multithreading. This realized by using callback mechanisms and enables the
- stack library to seamlessly integrate without or very little changes to the existing
- application framework.
-
- The stack architecture builds upon following mentioned entities that are external to it.
-
- User Layer Protocol (ULP) Entity:
- This layer implements the intelligent logic for the application and sits on top of the
- stack.
-
- UDP Entity:
- This is the layer below the stack and is responsible for UDP I/O with the stack and network.
- It may or may not be housed in ULP.
-
- Timer Manager Entity:
- Timer Manager Entity provides the stack with infrastructure for timer CRUD operations.
-
- Log Manager Entity:
- Log Manager Entity provides the stack with callbacks for logging operations. It may
- or may not be housed in ULP.
-
- The application may implement all above entities as a single or multiple object.
-
- @section applications Applications and Usage
-
- Please refer sample applications under 'test-app' directory for usage examples.
-
- */
-
-/**
- * @file NwGtpv2c.h
- * @author Amit Chawre
- * @brief
- *
- * This header file contains all required definitions and functions
- * prototypes for using nw-gtpv2c library.
- *
- **/
-
-/*--------------------------------------------------------------------------*
- * S T A C K H A N D L E D E F I N I T I O N S *
- *--------------------------------------------------------------------------*/
-
-typedef NwPtrT NwGtpv2cStackHandleT; /**< Gtpv2c Stack Handle */
-typedef NwPtrT NwGtpv2cUlpHandleT; /**< Gtpv2c Stack Ulp Entity Handle */
-typedef NwPtrT NwGtpv2cUdpHandleT; /**< Gtpv2c Stack Udp Entity Handle */
-typedef NwPtrT NwGtpv2cTimerMgrHandleT; /**< Gtpv2c Stack Timer Manager Handle */
-typedef NwPtrT NwGtpv2cMemMgrHandleT; /**< Gtpv2c Stack Memory Manager Handle */
-typedef NwPtrT NwGtpv2cLogMgrHandleT; /**< Gtpv2c Stack Log Manager Handle */
-typedef NwPtrT NwGtpv2cTimerHandleT; /**< Gtpv2c Stack Timer Handle */
-typedef NwPtrT NwGtpv2cMsgHandleT; /**< Gtpv2c Msg Handle */
-typedef NwPtrT NwGtpv2cTrxnHandleT; /**< Gtpv2c Transaction Handle */
-typedef NwPtrT NwGtpv2cTunnelHandleT; /**< Gtpv2c Ulp Tunnel Handle */
-typedef NwPtrT NwGtpv2cUlpTrxnHandleT; /**< Gtpv2c Ulp Transaction Handle */
-typedef NwPtrT NwGtpv2cUlpTunnelHandleT; /**< Gtpv2c Ulp Tunnel Handle */
-
-typedef uint8_t NwGtpv2cMsgTypeT; /**< Gtpv2c Msg Type */
-
-typedef struct NwGtpv2cStackConfigS {
- uint16_t __tbd;
-} NwGtpv2cStackConfigT;
-
-/*--------------------------------------------------------------------------*
- * S T A C K A P I D E F I N I T I O N S *
- *--------------------------------------------------------------------------*/
-
-#define NW_GTPV2C_ULP_API_FLAG_NONE (0x00 << 24)
-#define NW_GTPV2C_ULP_API_FLAG_CREATE_LOCAL_TUNNEL (0x01 << 24)
-#define NW_GTPV2C_ULP_API_FLAG_DELETE_LOCAL_TUNNEL (0x02 << 24)
-#define NW_GTPV2C_ULP_API_FLAG_IS_COMMAND_MESSAGE (0x03 << 24)
-
-/*---------------------------------------------------------------------------
- * Gtpv2c Stack ULP API type definitions
- *--------------------------------------------------------------------------*/
-
-/**
- * APIs types between ULP and Stack
- */
-
-typedef enum {
- /* APIs from ULP to stack */
-
- NW_GTPV2C_ULP_API_INITIAL_REQ = 0x00000000, /**< Send a initial message */
- NW_GTPV2C_ULP_API_TRIGGERED_REQ, /**< Send a triggered req message */
- NW_GTPV2C_ULP_API_TRIGGERED_RSP, /**< Send a triggered rsp message */
-
- /* APIs from stack to ULP */
-
- NW_GTPV2C_ULP_API_INITIAL_REQ_IND, /**< Receive a initial message from stack */
- NW_GTPV2C_ULP_API_TRIGGERED_RSP_IND, /**< Recieve a triggered rsp message from stack */
- NW_GTPV2C_ULP_API_TRIGGERED_REQ_IND, /**< Recieve a triggered req message from stack */
- NW_GTPV2C_ULP_API_RSP_FAILURE_IND, /**< Rsp failure for gtpv2 message from stack */
-
- /* Local tunnel management APIs from ULP to stack */
-
- NW_GTPV2C_ULP_CREATE_LOCAL_TUNNEL, /**< Create a local tunnel */
- NW_GTPV2C_ULP_DELETE_LOCAL_TUNNEL, /**< Delete a local tunnel */
-
- /* Do not add below this */
- NW_GTPV2C_ULP_API_END = 0xFFFFFFFF,
-
-} NwGtpv2cUlpApiTypeT;
-
-/**
- * Error information of incoming GTP messages
- */
-
-typedef struct NwGtpv2cErrorS {
- NW_IN uint8_t cause;
- NW_IN uint8_t flags;
- struct {
- NW_IN uint8_t type;
- NW_IN uint8_t instance;
- } offendingIe;
-} NwGtpv2cErrorT;
-
-/**
- * API information elements between ULP and Stack for
- * sending a Gtpv2c initial message.
- */
-
-typedef struct {
- NW_INOUT NwGtpv2cTunnelHandleT hTunnel; /**< Tunnel handle over which the mesasge is to be sent.*/
- NW_IN uint16_t t3Timer;
- NW_IN uint16_t maxRetries;
- NW_IN NwGtpv2cUlpTrxnHandleT hUlpTrxn; /**< Optional handle to be returned in rsp of this msg. */
-
- NW_IN uint32_t peerIp; /**< Required only in case when hTunnel == 0 */
- NW_IN uint32_t teidLocal; /**< Required only in case when hTunnel == 0 */
- NW_IN NwGtpv2cUlpTunnelHandleT hUlpTunnel; /**< Required only in case when hTunnel == 0 */
-} NwGtpv2cInitialReqInfoT;
-
-/**
- * API information elements between ULP and Stack for
- * sending a Gtpv2c triggered request message.
- */
-
-typedef struct {
- NW_IN NwGtpv2cTunnelHandleT hTunnel; /**< Tunnel handle over which the mesasge is to be sent */
- NW_IN NwGtpv2cTrxnHandleT hTrxn; /**< Request Trxn handle which to which triggered req is being sent */
- NW_IN uint16_t t3Timer;
- NW_IN uint16_t maxRetries;
- NW_IN NwGtpv2cUlpTrxnHandleT hUlpTrxn; /**< Optional handle to be returned in rsp of this msg. */
- NW_IN uint32_t peerIp; /**< Required only in case when hTunnel == 0 */
- NW_IN uint32_t teidLocal; /**< Required only in case when hTunnel == 0 */
- NW_IN NwGtpv2cUlpTunnelHandleT hUlpTunnel; /**< Required only in case when hTunnel == 0 */
-
-} NwGtpv2cTriggeredReqInfoT;
-
-/**
- * API information elements between ULP and Stack for
- * sending a Gtpv2c triggered response message.
- */
-
-typedef struct {
- NW_IN NwGtpv2cTrxnHandleT hTrxn; /**< Request Trxn handle which to which triggered rsp is being sent */
- NW_IN uint32_t teidLocal; /**< Required only if NW_GTPV2C_ULP_API_FLAG_CREATE_LOCAL_TUNNEL is set to flags. */
- NW_IN NwGtpv2cUlpTunnelHandleT hUlpTunnel; /**< Required only if NW_GTPV2C_ULP_API_FLAG_CREATE_LOCAL_TUNNEL is set to flags. */
-
- NW_OUT NwGtpv2cTunnelHandleT hTunnel; /**< Returned only in case flags is set to
- NW_GTPV2C_ULP_API_FLAG_CREATE_LOCAL_TUNNEL */
-} NwGtpv2cTriggeredRspInfoT;
-
-/**
- * API information elements between ULP and Stack for
- * sending a Gtpv2c initial message.
- */
-
-typedef struct {
- NW_IN NwGtpv2cErrorT error;
- NW_IN NwGtpv2cTrxnHandleT hTrxn;
- NW_IN NwGtpv2cUlpTrxnHandleT hUlpTrxn;
- NW_IN NwGtpv2cMsgTypeT msgType;
- NW_IN uint32_t peerIp;
- NW_IN uint32_t peerPort;
- NW_IN NwGtpv2cUlpTunnelHandleT hUlpTunnel;
- NW_INOUT NwGtpv2cTunnelHandleT hTunnel;
-} NwGtpv2cInitialReqIndInfoT;
-
-/**
- * API information elements between ULP and Stack for
- * sending a Gtpv2c triggered request message.
- */
-
-typedef struct {
- NW_IN NwGtpv2cErrorT error;
- NW_IN NwGtpv2cTrxnHandleT hTrxn;
- NW_IN NwGtpv2cUlpTrxnHandleT hUlpTrxn;
- NW_IN NwGtpv2cMsgTypeT msgType;
- NW_IN uint32_t seqNum;
- NW_IN uint32_t teidLocal;
- NW_IN uint32_t teidRemote;
- NW_IN NwGtpv2cUlpTunnelHandleT hUlpTunnel;
-} NwGtpv2cTriggeredReqIndInfoT;
-
-/**
- * API information elements between ULP and Stack for
- * sending a Gtpv2c triggered response message.
- */
-
-typedef struct {
- NW_IN NwGtpv2cErrorT error;
- NW_IN NwGtpv2cUlpTrxnHandleT hUlpTrxn;
- NW_IN NwGtpv2cUlpTunnelHandleT hUlpTunnel;
- NW_IN NwGtpv2cMsgTypeT msgType;
-} NwGtpv2cTriggeredRspIndInfoT;
-
-/**
- * API information elements between ULP and Stack for
- * receving a path failure indication from stack.
- */
-
-typedef struct {
- NW_IN NwGtpv2cUlpTrxnHandleT hUlpTrxn;
- NW_IN NwGtpv2cUlpTunnelHandleT hUlpTunnel;
-} NwGtpv2cRspFailureIndInfoT;
-
-/**
- * API information elements between ULP and Stack for
- * creating local tunnel.
- */
-
-typedef struct {
- NW_OUT NwGtpv2cTunnelHandleT hTunnel;
- NW_IN NwGtpv2cUlpTunnelHandleT hUlpTunnel;
- NW_IN uint32_t teidLocal;
- NW_IN uint32_t peerIp;
-} NwGtpv2cCreateLocalTunnelInfoT;
-
-
-/**
- * API information elements between ULP and Stack for
- * deleting a local tunnel.
- */
-
-typedef struct {
- NW_IN NwGtpv2cTunnelHandleT hTunnel;
-} NwGtpv2cDeleteLocalTunnelInfoT;
-
-
-/**
- * API container structure between ULP and Stack.
- */
-
-typedef struct {
- NwGtpv2cUlpApiTypeT apiType; /**< First bytes of this field is used as flag holder */
- NwGtpv2cMsgHandleT hMsg; /**< Handle associated with this API */
- union {
- NwGtpv2cInitialReqInfoT initialReqInfo;
- NwGtpv2cTriggeredRspInfoT triggeredRspInfo;
- NwGtpv2cTriggeredReqInfoT triggeredReqInfo;
- NwGtpv2cInitialReqIndInfoT initialReqIndInfo;
- NwGtpv2cTriggeredRspIndInfoT triggeredRspIndInfo;
- NwGtpv2cTriggeredReqIndInfoT triggeredReqIndInfo;
- NwGtpv2cRspFailureIndInfoT rspFailureInfo;
- NwGtpv2cCreateLocalTunnelInfoT createLocalTunnelInfo;
- NwGtpv2cDeleteLocalTunnelInfoT deleteLocalTunnelInfo;
- } apiInfo;
-} NwGtpv2cUlpApiT;
-
-
-/*--------------------------------------------------------------------------*
- * S T A C K E N T I T I E S D E F I N I T I O N S *
- *--------------------------------------------------------------------------*/
-
-/**
- * Gtpv2c ULP entity definition
- */
-
-typedef struct {
- NwGtpv2cUlpHandleT hUlp;
- NwRcT (*ulpReqCallback) ( NW_IN NwGtpv2cUlpHandleT hUlp,
- NW_IN NwGtpv2cUlpApiT *pUlpApi);
-} NwGtpv2cUlpEntityT;
-
-
-/**
- * Gtpv2c UDP entity definition
- */
-
-typedef struct {
- NwGtpv2cUdpHandleT hUdp;
- NwRcT (*udpDataReqCallback) ( NW_IN NwGtpv2cUdpHandleT udpHandle,
- NW_IN uint8_t* dataBuf,
- NW_IN uint32_t dataSize,
- NW_IN uint32_t peerIp,
- NW_IN uint32_t peerPort);
-} NwGtpv2cUdpEntityT;
-
-/**
- * Gtpv2c Memory Manager entity definition
- */
-
-typedef struct {
- NwGtpv2cMemMgrHandleT hMemMgr;
- void* (*memAlloc)( NW_IN NwGtpv2cMemMgrHandleT hMemMgr,
- NW_IN uint32_t memSize,
- NW_IN NwCharT* fileName,
- NW_IN uint32_t lineNumber);
-
- void (*memFree) ( NW_IN NwGtpv2cMemMgrHandleT hMemMgr,
- NW_IN void* hMem,
- NW_IN NwCharT* fileName,
- NW_IN uint32_t lineNumber);
-} NwGtpv2cMemMgrEntityT;
-
-
-#define NW_GTPV2C_TMR_TYPE_ONE_SHOT (0)
-#define NW_GTPV2C_TMR_TYPE_REPETITIVE (1)
-/**
- * Gtpv2c Timer Manager entity definition
- */
-
-typedef struct {
- NwGtpv2cTimerMgrHandleT tmrMgrHandle;
- NwRcT (*tmrStartCallback)( NW_IN NwGtpv2cTimerMgrHandleT tmrMgrHandle,
- NW_IN uint32_t timeoutSec,
- NW_IN uint32_t timeoutUsec,
- NW_IN uint32_t tmrType,
- NW_IN void* tmrArg,
- NW_OUT NwGtpv2cTimerHandleT* tmrHandle);
-
- NwRcT (*tmrStopCallback) ( NW_IN NwGtpv2cTimerMgrHandleT tmrMgrHandle,
- NW_IN NwGtpv2cTimerHandleT tmrHandle);
-} NwGtpv2cTimerMgrEntityT;
-
-/**
- * Gtpv2c Log manager entity definition
- */
-
-typedef struct {
- NwGtpv2cLogMgrHandleT logMgrHandle;
- NwRcT (*logReqCallback) (NW_IN NwGtpv2cLogMgrHandleT logMgrHandle,
- NW_IN uint32_t logLevel,
- NW_IN NwCharT* filename,
- NW_IN uint32_t line,
- NW_IN NwCharT* logStr);
-} NwGtpv2cLogMgrEntityT;
-
-
-/*--------------------------------------------------------------------------*
- * P U B L I C F U N C T I O N S *
- *--------------------------------------------------------------------------*/
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- Constructor. Initialize nw-gtpv2c stack instance.
-
- @param[in,out] phGtpcStackHandle : Pointer to stack instance handle
- */
-
-NwRcT
-nwGtpv2cInitialize( NW_INOUT NwGtpv2cStackHandleT* phGtpcStackHandle);
-
-/**
- Destructor. Destroy nw-gtpv2c stack instance .
-
- @param[in] hGtpcStackHandle : Stack instance handle
- */
-
-NwRcT
-nwGtpv2cFinalize( NW_IN NwGtpv2cStackHandleT hGtpcStackHandle);
-
-/**
- Set Configuration for the nw-gtpv2c stack.
-
- @param[in,out] phGtpcStackHandle : Pointer to stack handle
- */
-
-NwRcT
-nwGtpv2cConfigSet( NW_IN NwGtpv2cStackHandleT* phGtpcStackHandle, NW_IN NwGtpv2cStackConfigT* pConfig);
-
-/**
- Get Configuration for the nw-gtpv2c stack.
-
- @param[in,out] phGtpcStackHandle : Pointer to stack handle
- */
-
-NwRcT
-nwGtpv2cConfigGet( NW_IN NwGtpv2cStackHandleT* phGtpcStackHandle, NW_OUT NwGtpv2cStackConfigT* pConfig);
-
-/**
- Set ULP entity for the stack.
-
- @param[in] hGtpcStackHandle : Stack handle
- @param[in] pUlpEntity : Pointer to ULP entity.
- @return NW_OK on success.
- */
-
-NwRcT
-nwGtpv2cSetUlpEntity( NW_IN NwGtpv2cStackHandleT hGtpcStackHandle,
- NW_IN NwGtpv2cUlpEntityT* pUlpEntity);
-
-/**
- Set UDP entity for the stack.
-
- @param[in] hGtpcStackHandle : Stack handle
- @param[in] pUdpEntity : Pointer to UDP entity.
- @return NW_OK on success.
- */
-
-NwRcT
-nwGtpv2cSetUdpEntity( NW_IN NwGtpv2cStackHandleT hGtpcStackHandle,
- NW_IN NwGtpv2cUdpEntityT* pUdpEntity);
-
-/**
- Set MemMgr entity for the stack.
-
- @param[in] hGtpcStackHandle : Stack handle
- @param[in] pMemMgr : Pointer to Memory Manager.
- @return NW_OK on success.
- */
-
-NwRcT
-nwGtpv2cSetMemMgrEntity( NW_IN NwGtpv2cStackHandleT hGtpcStackHandle,
- NW_IN NwGtpv2cMemMgrEntityT* pMemMgr);
-
-
-/**
- Set TmrMgr entity for the stack.
-
- @param[in] hGtpcStackHandle : Stack handle
- @param[in] pTmrMgr : Pointer to Timer Manager.
- @return NW_OK on success.
- */
-
-NwRcT
-nwGtpv2cSetTimerMgrEntity( NW_IN NwGtpv2cStackHandleT hGtpcStackHandle,
- NW_IN NwGtpv2cTimerMgrEntityT* pTmrMgr);
-
-/**
- Set LogMgr entity for the stack.
-
- @param[in] hGtpcStackHandle : Stack handle
- @param[in] pLogMgr : Pointer to Log Manager.
- @return NW_OK on success.
- */
-
-NwRcT
-nwGtpv2cSetLogMgrEntity( NW_IN NwGtpv2cStackHandleT hGtpcStackHandle,
- NW_IN NwGtpv2cLogMgrEntityT* pLogMgr);
-
-/**
- Set log level for the stack.
-
- @param[in] hGtpcStackHandle : Stack handle
- @param[in] logLevel : Log Level.
- @return NW_OK on success.
- */
-
-NwRcT
-nwGtpv2cSetLogLevel( NW_IN NwGtpv2cStackHandleT hGtpcStackHandle,
- NW_IN uint32_t logLevel);
-
-
-/**
- Process Data Request from UDP entity.
-
- @param[in] hGtpcStackHandle : Stack handle
- @param[in] udpData : Pointer to received UDP data.
- @param[in] udpDataLen : Received data length.
- @param[in] dstPort : Received on port.
- @param[in] from : Received from peer information.
- @return NW_OK on success.
- */
-
-NwRcT
-nwGtpv2cProcessUdpReq( NW_IN NwGtpv2cStackHandleT hGtpcStackHandle,
- NW_IN uint8_t* udpData,
- NW_IN uint32_t udpDataLen,
- NW_IN uint16_t peerPort,
- NW_IN uint32_t peerIP);
-
-/**
- Process Request from ULP entity.
-
- @param[in] hGtpcStackHandle : Stack handle
- @param[in] pLogMgr : Pointer to Ulp Req.
- @return NW_OK on success.
- */
-
-NwRcT
-nwGtpv2cProcessUlpReq( NW_IN NwGtpv2cStackHandleT hGtpcStackHandle,
- NW_IN NwGtpv2cUlpApiT *ulpReq);
-
-
-/**
- Process Timer timeout Request from Timer Manager
-
- @param[in] pLogMgr : Pointer timeout arguments.
- @return NW_OK on success.
- */
-
-NwRcT
-nwGtpv2cProcessTimeout( NW_IN void* timeoutArg);
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NW_GTPV2C_H__ */
-
-/*--------------------------------------------------------------------------*
- * E N D O F F I L E *
- *--------------------------------------------------------------------------*/
-
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/shared/NwGtpv2cIe.h b/openair-cn/GTPV2-C/nwgtpv2c-0.11/shared/NwGtpv2cIe.h
deleted file mode 100644
index 2de7e217c7..0000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/shared/NwGtpv2cIe.h
+++ /dev/null
@@ -1,159 +0,0 @@
-/*----------------------------------------------------------------------------*
- * *
- * n w - g t p v 2 c *
- * G P R S T u n n e l i n g P r o t o c o l v 2 c S t a c k *
- * *
- * *
- * Copyright (c) 2010-2011 Amit Chawre *
- * All rights reserved. *
- * *
- * Redistribution and use in source and binary forms, with or without *
- * modification, are permitted provided that the following conditions *
- * are met: *
- * *
- * 1. Redistributions of source code must retain the above copyright *
- * notice, this list of conditions and the following disclaimer. *
- * 2. Redistributions in binary form must reproduce the above copyright *
- * notice, this list of conditions and the following disclaimer in the *
- * documentation and/or other materials provided with the distribution. *
- * 3. The name of the author may not be used to endorse or promote products *
- * derived from this software without specific prior written permission. *
- * *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR *
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES *
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. *
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, *
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT *
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, *
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY *
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF *
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *
- *----------------------------------------------------------------------------*/
-
-/**
- * @file NwGtpv2cIe.h
- * @brief This header file contains Information Element definitions for GTPv2c
- * as per 3GPP TS 29274-930.
-*/
-
-#ifndef __NW_GTPV2C_IE_H__
-#define __NW_GTPV2C_IE_H__
-
-/*--------------------------------------------------------------------------*
- * G T P V 2 C I E T Y P E M A C R O D E F I N I T I O N S *
- *--------------------------------------------------------------------------*/
-
-#define NW_GTPV2C_IE_RESERVED (0)
-#define NW_GTPV2C_IE_IMSI (1)
-#define NW_GTPV2C_IE_CAUSE (2)
-#define NW_GTPV2C_IE_RECOVERY (3)
-#define NW_GTPV2C_IE_APN (71)
-#define NW_GTPV2C_IE_AMBR (72)
-#define NW_GTPV2C_IE_EBI (73)
-#define NW_GTPV2C_IE_IP_ADDRESS (74)
-#define NW_GTPV2C_IE_MEI (75)
-#define NW_GTPV2C_IE_MSISDN (76)
-#define NW_GTPV2C_IE_INDICATION (77)
-#define NW_GTPV2C_IE_PCO (78)
-#define NW_GTPV2C_IE_PAA (79)
-#define NW_GTPV2C_IE_BEARER_LEVEL_QOS (80)
-#define NW_GTPV2C_IE_FLOW_QOS (81)
-#define NW_GTPV2C_IE_RAT_TYPE (82)
-#define NW_GTPV2C_IE_SERVING_NETWORK (83)
-#define NW_GTPV2C_IE_BEARER_TFT (84)
-#define NW_GTPV2C_IE_TAD (85)
-#define NW_GTPV2C_IE_ULI (86)
-#define NW_GTPV2C_IE_FTEID (87)
-#define NW_GTPV2C_IE_TMSI (88)
-#define NW_GTPV2C_IE_GLOBAL_CN_ID (89)
-#define NW_GTPV2C_IE_S103PDF (90)
-#define NW_GTPV2C_IE_S1UDF (91)
-#define NW_GTPV2C_IE_DELAY_VALUE (92)
-#define NW_GTPV2C_IE_BEARER_CONTEXT (93)
-#define NW_GTPV2C_IE_CHARGING_ID (94)
-#define NW_GTPV2C_IE_CHARGING_CHARACTERISTICS (95)
-#define NW_GTPV2C_IE_TRACE_INFORMATION (96)
-#define NW_GTPV2C_IE_BEARER_FLAGS (97)
-#define NW_GTPV2C_IE_PDN_TYPE (99)
-#define NW_GTPV2C_IE_PROCEDURE_TRANSACTION_ID (100)
-#define NW_GTPV2C_IE_DRX_PARAMETER (101)
-#define NW_GTPV2C_IE_UE_NETWORK_CAPABILITY (102)
-#define NW_GTPV2C_IE_MM_CONTEXT (103)
-#define NW_GTPV2C_IE_PDN_CONNECTION (109)
-#define NW_GTPV2C_IE_PDU_NUMBERS (110)
-#define NW_GTPV2C_IE_PTMSI (111)
-#define NW_GTPV2C_IE_PTMSI_SIGNATURE (112)
-#define NW_GTPV2C_IE_HOP_COUNTER (113)
-#define NW_GTPV2C_IE_UE_TIME_ZONE (114)
-#define NW_GTPV2C_IE_TRACE_REFERENCE (115)
-#define NW_GTPV2C_IE_COMPLETE_REQUEST_MESSAGE (116)
-#define NW_GTPV2C_IE_GUTI (117)
-#define NW_GTPV2C_IE_F_CONTAINER (118)
-#define NW_GTPV2C_IE_F_CAUSE (119)
-#define NW_GTPV2C_IE_SELECTED_PLMN_ID (120)
-#define NW_GTPV2C_IE_TARGET_IDENTIFICATION (121)
-#define NW_GTPV2C_IE_PACKET_FLOW_ID (123)
-#define NW_GTPV2C_IE_RAB_CONTEXT (124)
-#define NW_GTPV2C_IE_SOURCE_RNC_PDCP_CONTEXT_INFO (125)
-#define NW_GTPV2C_IE_UDP_SOURCE_PORT_NUMBER (126)
-#define NW_GTPV2C_IE_APN_RESTRICTION (127)
-#define NW_GTPV2C_IE_SELECTION_MODE (128)
-#define NW_GTPV2C_IE_SOURCE_IDENTIFICATION (129)
-#define NW_GTPV2C_IE_CHANGE_REPORTING_ACTION (131)
-#define NW_GTPV2C_IE_FQ_CSID (132)
-#define NW_GTPV2C_IE_CHANNEL_NEEDED (133)
-#define NW_GTPV2C_IE_EMLPP_PRIORITY (134)
-#define NW_GTPV2C_IE_NODE_TYPE (135)
-#define NW_GTPV2C_IE_FQDN (136)
-#define NW_GTPV2C_IE_TI (137)
-#define NW_GTPV2C_IE_MBMS_SESSION_DURATION (138)
-#define NW_GTPV2C_IE_MBMS_SERIVCE_AREA (139)
-#define NW_GTPV2C_IE_MBMS_SESSION_IDENTIFIER (140)
-#define NW_GTPV2C_IE_MBMS_FLOW_IDENTIFIER (141)
-#define NW_GTPV2C_IE_MBMS_IP_MULTICAST_DISTRIBUTION (142)
-#define NW_GTPV2C_IE_MBMS_IP_DISTRIBUTION_ACK (143)
-#define NW_GTPV2C_IE_RFSP_INDEX (144)
-#define NW_GTPV2C_IE_UCI (145)
-#define NW_GTPV2C_IE_CSG_INFORMATION_REPORTING_ACTION (146)
-#define NW_GTPV2C_IE_CSG_ID (147)
-#define NW_GTPV2C_IE_CSG_MEMBERSHIP_INDICATION (148)
-#define NW_GTPV2C_IE_SERVICE_INDICATOR (149)
-#define NW_GTPV2C_IE_LDN (151)
-#define NW_GTPV2C_IE_ADDITIONAL_MM_CTXT_FOR_SRVCC (159)
-#define NW_GTPV2C_IE_ADDITIONAL_FLAGS_FOR_SRVCC (160)
-#define NW_GTPV2C_IE_PRIVATE_EXTENSION (255)
-#define NW_GTPV2C_IE_TYPE_MAXIMUM (256)
-
-
-/*--------------------------------------------------------------------------*
- * G T P V 2 C C A U S E V A L U E D E F I N I T I O N S *
- *--------------------------------------------------------------------------*/
-
-#define NW_GTPV2C_CAUSE_REQUEST_ACCEPTED (16)
-#define NW_GTPV2C_CAUSE_INVALID_LENGTH (67)
-#define NW_GTPV2C_CAUSE_MANDATORY_IE_INCORRECT (69)
-#define NW_GTPV2C_CAUSE_MANDATORY_IE_MISSING (70)
-#define NW_GTPV2C_CAUSE_SYSTEM_FAILURE (72)
-#define NW_GTPV2C_CAUSE_REQUEST_REJECTED (94)
-#define NW_GTPV2C_CAUSE_REMOTE_PEER_NOT_RESPONDING (100)
-#define NW_GTPV2C_CAUSE_CONDITIONAL_IE_MISSING (103)
-
-#define NW_GTPV2C_IE_INSTANCE_ZERO (0)
-#define NW_GTPV2C_IE_INSTANCE_ONE (1)
-#define NW_GTPV2C_IE_INSTANCE_TWO (2)
-#define NW_GTPV2C_IE_INSTANCE_THREE (3)
-#define NW_GTPV2C_IE_INSTANCE_FOUR (4)
-#define NW_GTPV2C_IE_INSTANCE_MAXIMUM (NW_GTPV2C_IE_INSTANCE_FOUR)
-
-#define NW_GTPV2C_IE_PRESENCE_MANDATORY (1)
-#define NW_GTPV2C_IE_PRESENCE_CONDITIONAL (2)
-#define NW_GTPV2C_IE_PRESENCE_CONDITIONAL_OPTIONAL (3)
-#define NW_GTPV2C_IE_PRESENCE_OPTIONAL (4)
-
-#endif /* __NW_GTPV2C_IE_H__ */
-
-/*--------------------------------------------------------------------------*
- * E N D O F F I L E *
- *--------------------------------------------------------------------------*/
-
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/shared/NwGtpv2cMsg.h b/openair-cn/GTPV2-C/nwgtpv2c-0.11/shared/NwGtpv2cMsg.h
deleted file mode 100644
index 7c7476383b..0000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/shared/NwGtpv2cMsg.h
+++ /dev/null
@@ -1,626 +0,0 @@
-/*----------------------------------------------------------------------------*
- * *
- * n w - g t p v 2 c *
- * G P R S T u n n e l i n g P r o t o c o l v 2 c S t a c k *
- * *
- * *
- * Copyright (c) 2010-2011 Amit Chawre *
- * All rights reserved. *
- * *
- * Redistribution and use in source and binary forms, with or without *
- * modification, are permitted provided that the following conditions *
- * are met: *
- * *
- * 1. Redistributions of source code must retain the above copyright *
- * notice, this list of conditions and the following disclaimer. *
- * 2. Redistributions in binary form must reproduce the above copyright *
- * notice, this list of conditions and the following disclaimer in the *
- * documentation and/or other materials provided with the distribution. *
- * 3. The name of the author may not be used to endorse or promote products *
- * derived from this software without specific prior written permission. *
- * *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR *
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES *
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. *
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, *
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT *
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, *
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY *
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF *
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *
- *----------------------------------------------------------------------------*/
-
-#ifndef __NW_GTPV2C_MSG_H__
-#define __NW_GTPV2C_MSG_H__
-
-#include "NwTypes.h"
-#include "NwGtpv2c.h"
-
-/**
- * @file NwGtpv2cMsg.h
- * @brief This file defines APIs for to build new outgoing gtpv2c messages and to parse incoming messages.
- */
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*--------------------------------------------------------------------------*
- * S H A R E D A P I M A C R O S *
- *--------------------------------------------------------------------------*/
-
-
-#define NW_GTP_VERSION (0x02) /**< GTP Version */
-#define NW_GTPV2C_MINIMUM_HEADER_SIZE (8) /**< Size of GTPv2c minimun header */
-#define NW_GTPV2C_EPC_SPECIFIC_HEADER_SIZE (12) /**< Size of GTPv2c EPC specific header */
-
-/* GTP Message Type Values */
-#define NW_GTP_ECHO_REQ (1)
-#define NW_GTP_ECHO_RSP (2)
-#define NW_GTP_VERSION_NOT_SUPPORTED_IND (3)
-#define NW_GTP_CREATE_SESSION_REQ (32)
-#define NW_GTP_CREATE_SESSION_RSP (33)
-#define NW_GTP_MODIFY_BEARER_REQ (34)
-#define NW_GTP_MODIFY_BEARER_RSP (35)
-#define NW_GTP_DELETE_SESSION_REQ (36)
-#define NW_GTP_DELETE_SESSION_RSP (37)
-#define NW_GTP_MODIFY_BEARER_CMD (64)
-#define NW_GTP_MODIFY_BEARER_FAILURE_IND (65)
-#define NW_GTP_DELETE_BEARER_CMD (66)
-#define NW_GTP_DELETE_BEARER_FAILURE_IND (67)
-#define NW_GTP_BEARER_RESOURCE_CMD (68)
-#define NW_GTP_BEARER_RESOURCE_FAILURE_IND (69)
-#define NW_GTP_DOWNLINK_DATA_NOTIFICATION_FAILURE_IND (70)
-#define NW_GTP_TRACE_SESSION_ACTIVATION (71)
-#define NW_GTP_TRACE_SESSION_DEACTIVATION (72)
-#define NW_GTP_STOP_PAGING_IND (73)
-#define NW_GTP_CREATE_BEARER_REQ (95)
-#define NW_GTP_CREATE_BEARER_RSP (96)
-#define NW_GTP_UPDATE_BEARER_REQ (97)
-#define NW_GTP_UPDATE_BEARER_RSP (98)
-#define NW_GTP_DELETE_BEARER_REQ (99)
-#define NW_GTP_DELETE_BEARER_RSP (100)
-#define NW_GTP_DELETE_PDN_CONNECTION_SET_REQ (101)
-#define NW_GTP_DELETE_PDN_CONNECTION_SET_RSP (102)
-#define NW_GTP_IDENTIFICATION_REQ (128)
-#define NW_GTP_IDENTIFICATION_RSP (129)
-#define NW_GTP_CONTEXT_REQ (130)
-#define NW_GTP_CONTEXT_RSP (131)
-#define NW_GTP_CONTEXT_ACK (132)
-#define NW_GTP_FORWARD_RELOCATION_REQ (133)
-#define NW_GTP_FORWARD_RELOCATION_RSP (134)
-#define NW_GTP_FORWARD_RELOCATION_COMPLETE_NTF (135)
-#define NW_GTP_FORWARD_RELOCATION_COMPLETE_ACK (136)
-#define NW_GTP_FORWARD_ACCESS_CONTEXT_NTF (137)
-#define NW_GTP_FORWARD_ACCESS_CONTEXT_ACK (138)
-#define NW_GTP_RELOCATION_CANCEL_REQ (139)
-#define NW_GTP_RELOCATION_CANCEL_RSP (140)
-#define NW_GTP_CONFIGURE_TRANSFER_TUNNEL (141)
-#define NW_GTP_DETACH_NTF (149)
-#define NW_GTP_DETACH_ACK (150)
-#define NW_GTP_CS_PAGING_INDICATION (151)
-#define NW_GTP_RAN_INFORMATION_RELAY (152)
-#define NW_GTP_ALERT_MME_NTF (153)
-#define NW_GTP_ALERT_MME_ACK (154)
-#define NW_GTP_UE_ACTIVITY_NTF (155)
-#define NW_GTP_UE_ACTIVITY_ACK (156)
-#define NW_GTP_CREATE_FORWARDING_TUNNEL_REQ (160)
-#define NW_GTP_CREATE_FORWARDING_TUNNEL_RSP (161)
-#define NW_GTP_SUSPEND_NTF (162)
-#define NW_GTP_SUSPEND_ACK (163)
-#define NW_GTP_RESUME_NTF (164)
-#define NW_GTP_RESUME_ACK (165)
-#define NW_GTP_CREATE_INDIRECT_DATA_FORWARDING_TUNNEL_REQ (166)
-#define NW_GTP_CREATE_INDIRECT_DATA_FORWARDING_TUNNEL_RSP (167)
-#define NW_GTP_DELETE_INDIRECT_DATA_FORWARDING_TUNNEL_REQ (168)
-#define NW_GTP_DELETE_INDIRECT_DATA_FORWARDING_TUNNEL_RSP (169)
-#define NW_GTP_RELEASE_ACCESS_BEARERS_REQ (170)
-#define NW_GTP_RELEASE_ACCESS_BEARERS_RSP (171)
-#define NW_GTP_DOWNLINK_DATA_NOTIFICATION (176)
-#define NW_GTP_DOWNLINK_DATA_NOTIFICATION_ACK (177)
-#define NW_GTP_RESERVED (178)
-#define NW_GTP_UPDATE_PDN_CONNECTION_SET_REQ (200)
-#define NW_GTP_UPDATE_PDN_CONNECTION_SET_RSP (201)
-#define NW_GTP_MBMS_SESSION_START_REQ (231)
-#define NW_GTP_MBMS_SESSION_START_RSP (232)
-#define NW_GTP_MBMS_SESSION_UPDATE_REQ (233)
-#define NW_GTP_MBMS_SESSION_UPDATE_RSP (234)
-#define NW_GTP_MBMS_SESSION_STOP_REQ (235)
-#define NW_GTP_MBMS_SESSION_STOP_RSP (236)
-#define NW_GTP_MSG_END (255)
-
-
-/* Cause Values */
-#define NW_GTPV2C_CAUSE_BIT_NONE (0x00)
-#define NW_GTPV2C_CAUSE_BIT_CS (0x01)
-#define NW_GTPV2C_CAUSE_BIT_BCE (0x02)
-#define NW_GTPV2C_CAUSE_BIT_PCE (0x04)
-
-/* RAT Type Values */
-#define NW_RAT_TYPE_EUTRAN (0x06)
-
-/* PDN Type Values */
-#define NW_PDN_TYPE_IPv4 (0x01)
-#define NW_PDN_TYPE_IPv6 (0x02)
-#define NW_PDN_TYPE_IPv4IPv6 (0x03)
-
-/* Interface Type Values */
-#define NW_GTPV2C_IFTYPE_S1U_ENODEB_GTPU (0)
-#define NW_GTPV2C_IFTYPE_S1U_SGW_GTPU (1)
-#define NW_GTPV2C_IFTYPE_S12_RNC_GTPU (2)
-#define NW_GTPV2C_IFTYPE_S12_SGW_GTPU (3)
-#define NW_GTPV2C_IFTYPE_S5S8_SGW_GTPU (4)
-#define NW_GTPV2C_IFTYPE_S5S8_PGW_GTPU (5)
-#define NW_GTPV2C_IFTYPE_S5S8_SGW_GTPC (6)
-#define NW_GTPV2C_IFTYPE_S5S8_PGW_GTPC (7)
-#define NW_GTPV2C_IFTYPE_S5S8_SGW_PIMPv6 (8)
-#define NW_GTPV2C_IFTYPE_S5S8_PGW_PIMPv6 (9)
-#define NW_GTPV2C_IFTYPE_S11_MME_GTPC (10)
-#define NW_GTPV2C_IFTYPE_S11S4_SGW_GTPC (11)
-
-/* Indication Flag Values */
-#define NW_GTPV2C_INDICATION_FLAG_NONE (0x0000)
-#define NW_GTPV2C_INDICATION_FLAG_DAF (0x8000)
-#define NW_GTPV2C_INDICATION_FLAG_DTF (0x4000)
-#define NW_GTPV2C_INDICATION_FLAG_HI (0x2000)
-#define NW_GTPV2C_INDICATION_FLAG_DFI (0x1000)
-#define NW_GTPV2C_INDICATION_FLAG_OI (0x0800)
-#define NW_GTPV2C_INDICATION_FLAG_ISRSI (0x0400)
-#define NW_GTPV2C_INDICATION_FLAG_ISRAI (0x0200)
-#define NW_GTPV2C_INDICATION_FLAG_SGWCI (0x0100)
-
-#define NW_GTPV2C_INDICATION_FLAG_SPARE (0x0080)
-#define NW_GTPV2C_INDICATION_FLAG_UMSI (0x0040)
-#define NW_GTPV2C_INDICATION_FLAG_CSFI (0x0020)
-#define NW_GTPV2C_INDICATION_FLAG_CRSI (0x0010)
-#define NW_GTPV2C_INDICATION_FLAG_PS (0x0008)
-#define NW_GTPV2C_INDICATION_FLAG_PT (0x0004)
-#define NW_GTPV2C_INDICATION_FLAG_SI (0x0002)
-#define NW_GTPV2C_INDICATION_FLAG_MSV (0x0001)
-
-/*--------------------------------------------------------------------------*
- * G T P V 2 C I E D A T A - T Y P E D E F I N I T I O N S *
- *--------------------------------------------------------------------------*/
-
-#pragma pack(1)
-
-typedef struct NwGtpv2cIeTv1 {
- uint8_t t;
- uint16_t l;
- uint8_t i;
- uint8_t v;
-} NwGtpv2cIeTv1T;
-
-typedef struct NwGtpv2cIeTv2 {
- uint8_t t;
- uint16_t l;
- uint8_t i;
- uint16_t v;
-} NwGtpv2cIeTv2T;
-
-typedef struct NwGtpv2cIeTv4 {
- uint8_t t;
- uint16_t l;
- uint8_t i;
- uint32_t v;
-} NwGtpv2cIeTv4T;
-
-typedef struct NwGtpv2cIeTv8 {
- uint8_t t;
- uint16_t l;
- uint8_t i;
- uint64_t v;
-} NwGtpv2cIeTv8T;
-
-typedef struct NwGtpv2cIeTlv {
- uint8_t t;
- uint16_t l;
- uint8_t i;
-} NwGtpv2cIeTlvT;
-
-#pragma pack()
-
-
-/**
- * Allocate a gtpv2c message.
- *
- * @param[in] hGtpcStackHandle : gtpv2c stack handle.
- * @param[in] teidPresent : TEID is present flag.
- * @param[in] msgType : Message type for this message.
- * @param[in] teid : TEID for this message.
- * @param[in] seqNum : Sequence number for this message.
- * @param[out] phMsg : Pointer to message handle.
- */
-
-NwRcT
-nwGtpv2cMsgNew( NW_IN NwGtpv2cStackHandleT hGtpcStackHandle,
- NW_IN uint8_t teidPresent,
- NW_IN uint8_t msgType,
- NW_IN uint32_t teid,
- NW_IN uint32_t seqNum,
- NW_OUT NwGtpv2cMsgHandleT *phMsg);
-
-
-/**
- * Allocate a gtpv2c message from data buffer.
- *
- * @param[in] hGtpcStackHandle : gtpv2c stack handle.
- * @param[in] pBuf: Buffer to be copied in this message.
- * @param[in] bufLen: Buffer length to be copied in this message.
- * @param[out] phMsg : Pointer to message handle.
- */
-
-NwRcT
-nwGtpv2cMsgFromBufferNew( NW_IN NwGtpv2cStackHandleT hGtpcStackHandle,
- NW_IN uint8_t* pBuf,
- NW_IN uint32_t bufLen,
- NW_OUT NwGtpv2cMsgHandleT *phMsg);
-
-/**
- * Free a gtpv2c message.
- *
- * @param[in] hGtpcStackHandle : gtpv2c stack handle.
- * @param[in] hMsg : Message handle.
- */
-
-NwRcT
-nwGtpv2cMsgDelete( NW_IN NwGtpv2cStackHandleT hGtpcStackHandle,
- NW_IN NwGtpv2cMsgHandleT hMsg);
-
-/**
- * Set TEID for gtpv2c message.
- *
- * @param[in] hMsg : Message handle.
- * @param[in] teid: TEID value.
- */
-
-NwRcT
-nwGtpv2cMsgSetTeid(NW_IN NwGtpv2cMsgHandleT hMsg, uint32_t teid);
-
-/**
- * Set TEID present flag for gtpv2c message.
- *
- * @param[in] hMsg : Message handle.
- * @param[in] teidPesent: Flag boolean value.
- */
-
-NwRcT
-nwGtpv2cMsgSetTeidPresent(NW_IN NwGtpv2cMsgHandleT hMsg, NwBoolT teidPresent);
-
-/**
- * Set sequence for gtpv2c message.
- *
- * @param[in] hMsg : Message handle.
- * @param[in] seqNum: Flag boolean value.
- */
-
-NwRcT
-nwGtpv2cMsgSetSeqNumber(NW_IN NwGtpv2cMsgHandleT hMsg, uint32_t seqNum);
-
-/**
- * Get TEID present for gtpv2c message.
- *
- * @param[in] hMsg : Message handle.
- */
-
-uint32_t
-nwGtpv2cMsgGetTeid(NW_IN NwGtpv2cMsgHandleT hMsg);
-
-/**
- * Get TEID present for gtpv2c message.
- *
- * @param[in] hMsg : Message handle.
- */
-
-NwBoolT
-nwGtpv2cMsgGetTeidPresent(NW_IN NwGtpv2cMsgHandleT hMsg);
-
-/**
- * Get sequence number for gtpv2c message.
- *
- * @param[in] hMsg : Message handle.
- */
-
-uint32_t
-nwGtpv2cMsgGetSeqNumber(NW_IN NwGtpv2cMsgHandleT hMsg);
-
-/**
- * Get msg lenght for gtpv2c message.
- *
- * @param[in] hMsg : Message handle.
- */
-
-uint32_t
-nwGtpv2cMsgGetLength(NW_IN NwGtpv2cMsgHandleT hMsg);
-
-/**
- * Add a gtpv2c information element of length 1 to gtpv2c message.
- *
- * @param[in] hMsg : Handle to gtpv2c message.
- * @param[in] type : IE type.
- * @param[in] instance : IE instance.
- * @param[in] value : IE value.
- */
-
-NwRcT
-nwGtpv2cMsgAddIeTV1(NW_IN NwGtpv2cMsgHandleT hMsg,
- NW_IN uint8_t type,
- NW_IN uint8_t instance,
- NW_IN uint8_t value);
-
-
-/**
- * Add a gtpv2c information element of length 2 to gtpv2c message.
- *
- * @param[in] hMsg : Handle to gtpv2c message.
- * @param[in] type : IE type.
- * @param[in] instance : IE instance.
- * @param[in] value : IE value.
- */
-
-NwRcT
-nwGtpv2cMsgAddIeTV2(NW_IN NwGtpv2cMsgHandleT hMsg,
- NW_IN uint8_t type,
- NW_IN uint8_t instance,
- NW_IN uint16_t value);
-
-
-/**
- * Add a gtpv2c information element of length 4 to gtpv2c message.
- *
- * @param[in] hMsg : Handle to gtpv2c message.
- * @param[in] type : IE type.
- * @param[in] instance : IE instance.
- * @param[in] value : IE value.
- */
-
-NwRcT
-nwGtpv2cMsgAddIeTV4(NW_IN NwGtpv2cMsgHandleT hMsg,
- NW_IN uint8_t type,
- NW_IN uint8_t instance,
- NW_IN uint32_t value);
-
-
-/**
- * Add a gtpv2c information element of variable length to gtpv2c message.
- *
- * @param[in] hMsg : Handle to gtpv2c message.
- * @param[in] type : IE type.
- * @param[in] length : IE length.
- * @param[in] instance : IE instance.
- * @param[in] value : IE value.
- */
-
-NwRcT
-nwGtpv2cMsgAddIe(NW_IN NwGtpv2cMsgHandleT hMsg,
- NW_IN uint8_t type,
- NW_IN uint16_t length,
- NW_IN uint8_t instance,
- NW_IN uint8_t* pVal);
-
-/**
- * Add CAUSE information element to gtpv2c message.
- *
- * @param[in] hMsg : Handle to gtpv2c message.
- * @param[in] instance : IE instance.
- * @param[in] causeValue: Cause value.
- * @param[in] bitFlags: PDN Connetiion IE Error Flag, Bearer Context IE Error Flag, Cause Source Flag.
- * @param[in] offendingIeType: Offending IE type.
- * @param[in] offendingIeInstance: Offending IE instance.
- */
-
-NwRcT
-nwGtpv2cMsgAddIeCause(NW_IN NwGtpv2cMsgHandleT hMsg,
- NW_IN uint8_t instance,
- NW_IN uint8_t causeValue,
- NW_IN uint8_t bitFlags,
- NW_IN uint8_t offendingIeType,
- NW_IN uint8_t offendingIeInstance);
-
-/**
- * Add F-TEID information element to gtpv2c message.
- *
- * @param[in] hMsg : Handle to gtpv2c message.
- * @param[in] instance : IE instance.
- * @param[in] ifType : Interface Type.
- * @param[in] teidOrGreKey: TEID/ GRE Key
- * @param[in] ipv4Addr : Ipv4 Address in Network Byte Order.
- * @param[in] pIpv6Addr: Pointer to IPv6 Address in Network Byte Order.
- */
-
-NwRcT
-nwGtpv2cMsgAddIeFteid(NW_IN NwGtpv2cMsgHandleT hMsg,
- NW_IN uint8_t instance,
- NW_IN uint8_t ifType,
- NW_IN uint32_t teidOrGreKey,
- NW_IN uint32_t ipv4Addr,
- NW_IN uint8_t* pIpv6Addr);
-
-NwRcT
-nwGtpv2cMsgGroupedIeStart(NW_IN NwGtpv2cMsgHandleT hMsg,
- NW_IN uint8_t type,
- NW_IN uint8_t instance);
-
-NwRcT
-nwGtpv2cMsgGroupedIeEnd(NW_IN NwGtpv2cMsgHandleT hMsg);
-
-
-/**
- * Check if information element of type and instance is present
- * in gtpv2c message.
- *
- * @param[in] hMsg : Handle to gtpv2c message.
- * @param[in] type : IE Type.
- * @param[in] instance : IE instance.
- * @return NW_TRUE on success, NW_FALSE on failure.
- */
-
-NwBoolT
-nwGtpv2cMsgIsIePresent(NW_IN NwGtpv2cMsgHandleT hMsg,
- NW_IN uint8_t type,
- NW_IN uint8_t instance);
-
-/**
- * Get an information element of type 'uint8_t' from gtpv2c message.
- *
- * @param[in] hMsg : Handle to gtpv2c message.
- * @param[in] type : IE Type.
- * @param[in] instance : IE instance.
- * @param[out] pVal : Pointer to value buffer.
- * @return NW_OK on success.
- */
-
-NwRcT
-nwGtpv2cMsgGetIeTV1(NW_IN NwGtpv2cMsgHandleT hMsg,
- NW_IN uint8_t type,
- NW_IN uint8_t instance,
- NW_OUT uint8_t* pVal);
-
-/**
- * Get an information element of type 'uint16_t' from gtpv2c message.
- *
- * @param[in] hMsg : Handle to gtpv2c message.
- * @param[in] tyep : IE Type.
- * @param[in] instance : IE instance.
- * @param[out] pVal : Pointer to value buffer.
- * @return NW_OK on success.
- */
-
-
-NwRcT
-nwGtpv2cMsgGetIeTV2(NW_IN NwGtpv2cMsgHandleT hMsg,
- NW_IN uint8_t type,
- NW_IN uint8_t instance,
- NW_OUT uint16_t* pVal);
-
-/**
- * Get an information element of type 'uint32_t' from gtpv2c message.
- *
- * @param[in] hMsg : Handle to gtpv2c message.
- * @param[in] tyep : IE Type.
- * @param[in] instance : IE instance.
- * @param[out] pVal : Pointer to value buffer.
- * @return NW_OK on success.
- */
-
-
-NwRcT
-nwGtpv2cMsgGetIeTV4(NW_IN NwGtpv2cMsgHandleT hMsg,
- NW_IN uint8_t type,
- NW_IN uint8_t instance,
- NW_OUT uint32_t* pVal);
-
-/**
- * Get an information element of type 'uint64_t' from gtpv2c message.
- *
- * @param[in] hMsg : Handle to gtpv2c message.
- * @param[in] tyep : IE Type.
- * @param[in] instance : IE instance.
- * @param[out] pVal : Pointer to IE value buffer.
- * @return NW_OK on success.
- */
-
-
-NwRcT
-nwGtpv2cMsgGetIeTV8(NW_IN NwGtpv2cMsgHandleT hMsg,
- NW_IN uint8_t type,
- NW_IN uint8_t instance,
- NW_OUT uint64_t* pVal);
-
-/**
- * Get an information element of variable length from gtpv2c message.
- *
- * @param[in] hMsg : Handle to gtpv2c message.
- * @param[in] tyep : IE Type.
- * @param[in] instance : IE instance.
- * @param[in] maxLen : Maximum length of IE.
- * @param[out] pVal : Pointer to IE value buffer.
- * @param[out] pLen : Pointer to IE length buffer.
- * @return NW_OK on success.
- */
-
-NwRcT
-nwGtpv2cMsgGetIeTlv(NW_IN NwGtpv2cMsgHandleT hMsg,
- NW_IN uint8_t type,
- NW_IN uint8_t instance,
- NW_IN uint16_t maxLen,
- NW_OUT uint8_t* pVal,
- NW_OUT uint16_t* pLen);
-
-/**
- * Get an information element of variable length from gtpv2c message.
- *
- * @param[in] hMsg : Handle to gtpv2c message.
- * @param[in] tyep : IE Type.
- * @param[in] instance : IE instance.
- * @param[out] ppVal : Pointer to IE value buffer pointer.
- * @param[out] pLen : Pointer to IE length buffer.
- * @return NW_OK on success.
- */
-
-NwRcT
-nwGtpv2cMsgGetIeTlvP(NW_IN NwGtpv2cMsgHandleT hMsg,
- NW_IN uint8_t type,
- NW_IN uint8_t instance,
- NW_OUT uint8_t** ppVal,
- NW_OUT uint16_t* pLen);
-
-
-/**
- * Get F-TEID information element to gtpv2c message.
- *
- * @param[in] hMsg : Handle to gtpv2c message.
- * @param[in] instance : IE instance.
- * @param[out] ifType : Interface Type.
- * @param[out] teidOrGreKey: TEID/ GRE Key
- * @param[out] ipv4Addr : Ipv4 Address in Network Byte Order.
- * @param[out] pIpv6Addr: Pointer to IPv6 Address in Network Byte Order.
- */
-
-NwRcT
-nwGtpv2cMsgGetIeFteid(NW_IN NwGtpv2cMsgHandleT hMsg,
- NW_IN uint8_t instance,
- NW_OUT uint8_t* ifType,
- NW_OUT uint32_t* teidOrGreKey,
- NW_OUT uint32_t* ipv4Addr,
- NW_OUT uint8_t* pIpv6Addr);
-
-NwRcT
-nwGtpv2cMsgGetIeCause(NW_IN NwGtpv2cMsgHandleT hMsg,
- NW_IN uint8_t instance,
- NW_OUT uint8_t* causeValue,
- NW_OUT uint8_t* flags,
- NW_OUT uint8_t* offendingIeType,
- NW_OUT uint8_t* offendingIeInstance);
-
-/**
- * Get msg type for gtpv2c message.
- *
- * @param[in] hMsg : Message handle.
- */
-
-uint32_t
-nwGtpv2cMsgGetMsgType(NW_IN NwGtpv2cMsgHandleT hMsg);
-
-/**
- * Dump the contents of gtpv2c message.
- *
- * @param[in] hMsg : Handle to gtpv2c message.
- * @param[in] fp: Pointer to output file.
- */
-
-NwRcT
-nwGtpv2cMsgHexDump(NwGtpv2cMsgHandleT hMsg, FILE* fp);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NW_GTPV2C_MSG_H__ */
-
-
-/*--------------------------------------------------------------------------*
- * E N D O F F I L E *
- *--------------------------------------------------------------------------*/
-
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/shared/NwGtpv2cMsgParser.h b/openair-cn/GTPV2-C/nwgtpv2c-0.11/shared/NwGtpv2cMsgParser.h
deleted file mode 100644
index a16bf4800a..0000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/shared/NwGtpv2cMsgParser.h
+++ /dev/null
@@ -1,153 +0,0 @@
-/*----------------------------------------------------------------------------*
- * *
- * n w - g t p v 2 c *
- * G P R S T u n n e l i n g P r o t o c o l v 2 c S t a c k *
- * *
- * *
- * Copyright (c) 2010-2011 Amit Chawre *
- * All rights reserved. *
- * *
- * Redistribution and use in source and binary forms, with or without *
- * modification, are permitted provided that the following conditions *
- * are met: *
- * *
- * 1. Redistributions of source code must retain the above copyright *
- * notice, this list of conditions and the following disclaimer. *
- * 2. Redistributions in binary form must reproduce the above copyright *
- * notice, this list of conditions and the following disclaimer in the *
- * documentation and/or other materials provided with the distribution. *
- * 3. The name of the author may not be used to endorse or promote products *
- * derived from this software without specific prior written permission. *
- * *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR *
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES *
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. *
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, *
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT *
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, *
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY *
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF *
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *
- *----------------------------------------------------------------------------*/
-
-#include
-#include "NwTypes.h"
-#include "NwGtpv2c.h"
-#include "NwGtpv2cIe.h"
-
-#ifndef __NW_GTPV2C_MSG_PARSER_H__
-#define __NW_GTPV2C_MSG_PARSER_H__
-
-/**
- * @file NwGtpv2cMsgParser.h
- * @brief This file defines APIs to parser gtpv2c messages.
-*/
-
-typedef struct {
- uint16_t msgType;
- uint16_t mandatoryIeCount;
- NwGtpv2cStackHandleT hStack;
- NwRcT (*ieReadCallback) (uint8_t ieType, uint8_t ieLength, uint8_t ieInstance, uint8_t* ieValue, void* ieReadCallbackArg);
- void* ieReadCallbackArg;
-
- struct {
- uint8_t iePresence;
- NwRcT (*ieReadCallback) (uint8_t ieType, uint8_t ieLength, uint8_t ieInstance, uint8_t* ieValue, void* ieReadCallbackArg);
- void* ieReadCallbackArg;
- } ieParseInfo[NW_GTPV2C_IE_TYPE_MAXIMUM][NW_GTPV2C_IE_INSTANCE_MAXIMUM];
-
- uint8_t *pIe[NW_GTPV2C_IE_TYPE_MAXIMUM][NW_GTPV2C_IE_INSTANCE_MAXIMUM];
-} NwGtpv2cMsgParserT;
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * Allocate a gtpv2c message Parser.
- *
- * @param[in] hGtpcStackHandle : gtpv2c stack handle.
- * @param[in] msgType : Message type for this message parser.
- * @param[out] pthiz : Pointer to message parser handle.
- */
-
-NwRcT
-nwGtpv2cMsgParserNew( NW_IN NwGtpv2cStackHandleT hGtpcStackHandle,
- NW_IN uint8_t msgType,
- NW_IN NwRcT (*ieReadCallback) (uint8_t ieType,
- uint8_t ieLength,
- uint8_t ieInstance,
- uint8_t* ieValue,
- void* ieReadCallbackArg),
- NW_IN void* ieReadCallbackArg,
- NW_IN NwGtpv2cMsgParserT **pthiz);
-
-
-/**
- * Free a gtpv2c message parser.
- *
- * @param[in] hGtpcStackHandle : gtpv2c stack handle.
- * @param[in] thiz : Message parser handle.
- */
-
-NwRcT
-nwGtpv2cMsgParserDelete( NW_IN NwGtpv2cStackHandleT hGtpcStackHandle,
- NW_IN NwGtpv2cMsgParserT* thiz);
-
-NwRcT
-nwGtpv2cMsgParserUpdateIe( NW_IN NwGtpv2cMsgParserT* thiz,
- NW_IN uint8_t ieType,
- NW_IN uint8_t ieInstance,
- NW_IN uint8_t iePresence,
- NW_IN NwRcT (*ieReadCallback) (uint8_t ieType,
- uint8_t ieLength,
- uint8_t ieInstance,
- uint8_t* ieValue,
- void* ieReadCallbackArg),
- NW_IN void* ieReadCallbackArg);
-
-
-NwRcT
-nwGtpv2cMsgParserUpdateIeReadCallback( NW_IN NwGtpv2cMsgParserT* thiz,
- NW_IN NwRcT (*ieReadCallback) (uint8_t ieType,
- uint8_t ieLength,
- uint8_t ieInstance,
- uint8_t* ieValue,
- void* ieReadCallbackArg));
-
-
-NwRcT
-nwGtpv2cMsgParserUpdateIeReadCallbackArg( NW_IN NwGtpv2cMsgParserT* thiz,
- NW_IN void* ieReadCallbackArg);
-
-NwRcT
-nwGtpv2cMsgParserAddIe( NW_IN NwGtpv2cMsgParserT* thiz,
- NW_IN uint8_t ieType,
- NW_IN uint8_t ieInstance,
- NW_IN uint8_t iePresence,
- NW_IN NwRcT (*ieReadCallback) (uint8_t ieType,
- uint8_t ieLength,
- uint8_t ieInstance,
- uint8_t* ieValue,
- void* ieReadCallbackArg),
- NW_IN void* ieReadCallbackArg);
-
-NwRcT
-nwGtpv2cMsgParserRun( NW_IN NwGtpv2cMsgParserT *thiz,
- NW_IN NwGtpv2cMsgHandleT hMsg,
- NW_OUT uint8_t *pOffendingIeType,
- NW_OUT uint8_t *pOffendingIeInstance,
- NW_OUT uint16_t *pOffendingIeLength);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NW_GTPV2C_MSG_PARSER_H__ */
-
-
-/*--------------------------------------------------------------------------*
- * E N D O F F I L E *
- *--------------------------------------------------------------------------*/
-
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/shared/NwLog.h b/openair-cn/GTPV2-C/nwgtpv2c-0.11/shared/NwLog.h
deleted file mode 100644
index a941a31905..0000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/shared/NwLog.h
+++ /dev/null
@@ -1,85 +0,0 @@
-/*----------------------------------------------------------------------------*
- * *
- * n w - g t p v 2 c *
- * G P R S T u n n e l i n g P r o t o c o l v 2 c S t a c k *
- * *
- * *
- * Copyright (c) 2010-2011 Amit Chawre *
- * All rights reserved. *
- * *
- * Redistribution and use in source and binary forms, with or without *
- * modification, are permitted provided that the following conditions *
- * are met: *
- * *
- * 1. Redistributions of source code must retain the above copyright *
- * notice, this list of conditions and the following disclaimer. *
- * 2. Redistributions in binary form must reproduce the above copyright *
- * notice, this list of conditions and the following disclaimer in the *
- * documentation and/or other materials provided with the distribution. *
- * 3. The name of the author may not be used to endorse or promote products *
- * derived from this software without specific prior written permission. *
- * *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR *
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES *
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. *
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, *
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT *
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, *
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY *
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF *
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *
- *----------------------------------------------------------------------------*/
-
-
-#ifndef __NW_LOG_H__
-#define __NW_LOG_H__
-
-#include
-
-#include "NwTypes.h"
-
-/**
- * @file NwLog.h
- * @brief This header file contains global shared logging definitions.
-*/
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*---------------------------------------------------------------------------
- * Log Level Definitions
- *--------------------------------------------------------------------------*/
-
-#define NW_LOG_LEVEL_EMER (0) /**< system is unusable */
-#define NW_LOG_LEVEL_ALER (1) /**< action must be taken immediately*/
-#define NW_LOG_LEVEL_CRIT (2) /**< critical conditions */
-#define NW_LOG_LEVEL_ERRO (3) /**< error conditions */
-#define NW_LOG_LEVEL_WARN (4) /**< warning conditions */
-#define NW_LOG_LEVEL_NOTI (5) /**< normal but signification condition */
-#define NW_LOG_LEVEL_INFO (6) /**< informational */
-#define NW_LOG_LEVEL_DEBG (7) /**< debug-level messages */
-
-/*---------------------------------------------------------------------------
- * IPv4 logging macros
- *--------------------------------------------------------------------------*/
-
-#define NW_IPV4_ADDR "%u.%u.%u.%u"
-#define NW_IPV4_ADDR_FORMAT(__addr) (uint8_t)((__addr) & 0x000000ff), \
- (uint8_t)(((__addr) & 0x0000ff00) >> 8 ), \
- (uint8_t)(((__addr) & 0x00ff0000) >> 16), \
- (uint8_t)(((__addr) & 0xff000000) >> 24)
-
-#define NW_IPV4_ADDR_FORMATP(__paddr) (uint8_t)(*((uint8_t*)(__paddr)) & 0x000000ff), \
- (uint8_t)(*((uint8_t*)(__paddr + 1)) & 0x000000ff), \
- (uint8_t)(*((uint8_t*)(__paddr + 2)) & 0x000000ff), \
- (uint8_t)(*((uint8_t*)(__paddr + 3)) & 0x000000ff)
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NW_LOG_H__ */
-
-
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/shared/NwTypes.h b/openair-cn/GTPV2-C/nwgtpv2c-0.11/shared/NwTypes.h
deleted file mode 100644
index 78be53a5d0..0000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/shared/NwTypes.h
+++ /dev/null
@@ -1,83 +0,0 @@
-/*----------------------------------------------------------------------------*
- * *
- * n w - g t p v 2 c *
- * G P R S T u n n e l i n g P r o t o c o l v 2 c S t a c k *
- * *
- * *
- * Copyright (c) 2010-2011 Amit Chawre *
- * All rights reserved. *
- * *
- * Redistribution and use in source and binary forms, with or without *
- * modification, are permitted provided that the following conditions *
- * are met: *
- * *
- * 1. Redistributions of source code must retain the above copyright *
- * notice, this list of conditions and the following disclaimer. *
- * 2. Redistributions in binary form must reproduce the above copyright *
- * notice, this list of conditions and the following disclaimer in the *
- * documentation and/or other materials provided with the distribution. *
- * 3. The name of the author may not be used to endorse or promote products *
- * derived from this software without specific prior written permission. *
- * *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR *
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES *
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. *
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, *
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT *
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, *
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY *
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF *
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *
- *----------------------------------------------------------------------------*/
-
-
-#include
-#include
-
-#ifndef __NW_TYPES_H__
-#define __NW_TYPES_H__
-
-/**
- * @file NwTypes.h
- * @brief This header file contains basic type definitions.
-*/
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define NW_IN /**< An input argument */
-#define NW_OUT /**< An output argument */
-#define NW_INOUT /**< An input and output argument */
-
-#define NW_TRUE (1) /**< Truth value */
-#define NW_FALSE (0) /**< False value */
-
-typedef unsigned char uint8_t; /**< Unsigned 1 byte */
-typedef unsigned short uint16_t; /**< Unsigned 2 byte */
-typedef unsigned int uint32_t; /**< Unsigned 4 byte */
-typedef unsigned long long uint64_t; /**< Unsigned 8 byte */
-
-typedef signed char NwS8T; /**< Signed 1 byte */
-typedef signed short NwS16T; /**< Signed 2 byte */
-typedef signed int NwS32T; /**< Signed 4 byte */
-typedef signed long long NwS64T; /**< Signed 8 byte */
-
-typedef char NwBoolT; /**< Use this for booleans */
-
-typedef char NwCharT; /**< Use this for strings */
-
-typedef signed int NwFdT; /**< Use this for file descriptor */
-
-typedef uintptr_t NwPtrT; /**< Use this for generic pointers */
-typedef unsigned int NwHandleT; /**< Use this for generic handles */
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NW_TYPES_H__ */
-
-
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/shared/NwUtils.h b/openair-cn/GTPV2-C/nwgtpv2c-0.11/shared/NwUtils.h
deleted file mode 100644
index a51437bce8..0000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/shared/NwUtils.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/*----------------------------------------------------------------------------*
- * *
- * n w - g t p v 2 c *
- * G P R S T u n n e l i n g P r o t o c o l v 2 c S t a c k *
- * *
- * *
- * Copyright (c) 2010-2011 Amit Chawre *
- * All rights reserved. *
- * *
- * Redistribution and use in source and binary forms, with or without *
- * modification, are permitted provided that the following conditions *
- * are met: *
- * *
- * 1. Redistributions of source code must retain the above copyright *
- * notice, this list of conditions and the following disclaimer. *
- * 2. Redistributions in binary form must reproduce the above copyright *
- * notice, this list of conditions and the following disclaimer in the *
- * documentation and/or other materials provided with the distribution. *
- * 3. The name of the author may not be used to endorse or promote products *
- * derived from this software without specific prior written permission. *
- * *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR *
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES *
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. *
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, *
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT *
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, *
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY *
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF *
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *
- *----------------------------------------------------------------------------*/
-
-#include
-
-#ifndef __NW_UTILS_H__
-#define __NW_UTILS_H__
-
-
-/**
- * @file NwUtils.h
- * @brief This header file contains utility macro and function definitions.
-*/
-
-#define NW_ASSERT assert /**< Assertion */
-
-#define NW_CHK_NULL_PTR(_ptr) NW_ASSERT(_ptr != NULL) /**< Null pointer check */
-
-#define NW_HTONS(x) ( ( ((x) & 0xff00) >> 8 ) | ( ((x) & 0x00ff) << 8 ) )
-
-#define NW_HTONL(x) ( ( ((x) & 0xff000000) >> 24 ) | ( ( (x) & 0x00ff0000 ) >> 8 ) | \
- ( ( (x) & 0x0000ff00 ) << 8 ) | ( ( (x) & 0x000000ff) << 24 ) )
-
-#define NW_HTONLL(x) ( \
- ( ( ((uint64_t)x) & 0xff00000000000000ULL ) >> 56 ) | ( ( ((uint64_t)x) & 0x00ff000000000000ULL ) >> 40 ) | \
- ( ( ((uint64_t)x) & 0x0000ff0000000000ULL ) >> 24 ) | ( ( ((uint64_t)x) & 0x000000ff00000000ULL ) >> 8 ) | \
- ( ( ((uint64_t)x) & 0x000000000000ff00ULL ) << 40 ) | ( ( ((uint64_t)x) & 0x00000000000000ffULL ) << 56 ) | \
- ( ( ((uint64_t)x) & 0x0000000000ff0000ULL ) << 24 ) | ( ( ((uint64_t)x) & 0x00000000ff000000ULL ) << 8 ) \
- )
-
-
-#define NW_NTOHS NW_HTONS
-#define NW_NTOHL NW_HTONL
-#define NW_NTOHLL NW_HTONLL
-
-
-#endif /* __NW_UTILS_H__ */
-
-
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/src/Makefile.am b/openair-cn/GTPV2-C/nwgtpv2c-0.11/src/Makefile.am
deleted file mode 100644
index 0c12bd5984..0000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/src/Makefile.am
+++ /dev/null
@@ -1,46 +0,0 @@
-# this is example-file: src/mylib/Makefile.am
-
-# additional include paths necessary to compile the C++ library
-AM_CFLAGS = -Wall -I$(top_srcdir)/src -I$(top_srcdir)/shared -I$(top_srcdir)/include @AM_CFLAGS@
-
-###############################################################################
-# THE LIBRARIES TO BUILD
-###############################################################################
-
-# the library names to build (note we are building static libs only)
-lib_LIBRARIES = libNwGtpv2c.a
-
-# where to install the headers on the system
-libNwGtpv2c_adir = $(includedir)/mylib
-
-# the list of header files that belong to the library (to be installed later)
-libNwGtpv2c_a_HEADERS = \
- $(top_srcdir)/shared/NwTypes.h\
- $(top_srcdir)/shared/NwUtils.h\
- $(top_srcdir)/shared/NwError.h\
- $(top_srcdir)/shared/NwLog.h\
- $(top_srcdir)/shared/NwGtpv2c.h\
- $(top_srcdir)/shared/NwGtpv2cMsg.h\
- $(top_srcdir)/shared/NwGtpv2cMsgParser.h\
- $(top_srcdir)/shared/NwGtpv2cIe.h\
- $(top_srcdir)/include/NwGtpv2cPrivate.h\
- $(top_srcdir)/include/NwGtpv2cTrxn.h\
- $(top_srcdir)/include/NwGtpv2cTunnel.h\
- $(top_srcdir)/include/NwGtpv2cMsgIeParseInfo.h\
- $(top_srcdir)/include/NwGtpv2cLog.h\
- $(top_srcdir)/include/queue.h\
- $(top_srcdir)/include/tree.h
-
-# the sources to add to the library and to add to the source distribution
-libNwGtpv2c_a_SOURCES = \
- $(libNwGtpv2_a_HEADERS) \
- NwGtpv2cTrxn.c\
- NwGtpv2cTunnel.c\
- NwGtpv2cMsg.c\
- NwGtpv2cMsgIeParseInfo.c\
- NwGtpv2cMsgParser.c\
- NwGtpv2c.c
-
-###############################################################################
-
-
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/src/NwGtpv2c.c b/openair-cn/GTPV2-C/nwgtpv2c-0.11/src/NwGtpv2c.c
deleted file mode 100644
index 123fe0932a..0000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/src/NwGtpv2c.c
+++ /dev/null
@@ -1,1811 +0,0 @@
-/*----------------------------------------------------------------------------*
- * *
- * n w - g t p v 2 c *
- * G P R S T u n n e l i n g P r o t o c o l v 2 c S t a c k *
- * *
- * *
- * Copyright (c) 2010-2011 Amit Chawre *
- * All rights reserved. *
- * *
- * Redistribution and use in source and binary forms, with or without *
- * modification, are permitted provided that the following conditions *
- * are met: *
- * *
- * 1. Redistributions of source code must retain the above copyright *
- * notice, this list of conditions and the following disclaimer. *
- * 2. Redistributions in binary form must reproduce the above copyright *
- * notice, this list of conditions and the following disclaimer in the *
- * documentation and/or other materials provided with the distribution. *
- * 3. The name of the author may not be used to endorse or promote products *
- * derived from this software without specific prior written permission. *
- * *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR *
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES *
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. *
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, *
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT *
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, *
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY *
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF *
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *
- *----------------------------------------------------------------------------*/
-
-#include
-#include
-#include
-#include
-
-#include "NwTypes.h"
-#include "NwUtils.h"
-#include "NwError.h"
-#include "NwGtpv2cPrivate.h"
-#include "NwGtpv2c.h"
-#include "NwGtpv2cIe.h"
-#include "NwGtpv2cTrxn.h"
-#include "NwGtpv2cLog.h"
-
-#ifdef _NWGTPV2C_HAVE_TIMERADD
-#define NW_GTPV2C_TIMER_ADD(tvp, uvp, vvp) timeradd((tvp), (uvp), (vvp))
-#define NW_GTPV2C_TIMER_SUB(tvp, uvp, vvp) timersub((tvp), (uvp), (vvp))
-#define NW_GTPV2C_TIMER_CMP_P(a, b, CMP) timercmp(a, b, CMP)
-#else
-
-#define NW_GTPV2C_TIMER_ADD(tvp, uvp, vvp) \
- do { \
- (vvp)->tv_sec = (tvp)->tv_sec + (uvp)->tv_sec; \
- (vvp)->tv_usec = (tvp)->tv_usec + (uvp)->tv_usec; \
- if ((vvp)->tv_usec >= 1000000) { \
- (vvp)->tv_sec++; \
- (vvp)->tv_usec -= 1000000; \
- } \
- } while (0)
-
-#define NW_GTPV2C_TIMER_SUB(tvp, uvp, vvp) \
- do { \
- (vvp)->tv_sec = (tvp)->tv_sec - (uvp)->tv_sec; \
- (vvp)->tv_usec = (tvp)->tv_usec - (uvp)->tv_usec; \
- if ((vvp)->tv_usec < 0) { \
- (vvp)->tv_sec--; \
- (vvp)->tv_usec += 1000000; \
- } \
- } while (0)
-
-#define NW_GTPV2C_TIMER_CMP_P(a, b, CMP) \
- (((a)->tv_sec == (b)->tv_sec) ? \
- ((a)->tv_usec CMP (b)->tv_usec) : \
- ((a)->tv_sec CMP (b)->tv_sec))
-
-#endif
-
-
-#define NW_GTPV2C_INIT_MSG_IE_PARSE_INFO(__thiz, __msgType) \
- do { \
- __thiz->pGtpv2cMsgIeParseInfo[__msgType] = \
- nwGtpv2cMsgIeParseInfoNew((NwGtpv2cStackHandleT)__thiz, __msgType);\
- } while(0)
-
-#define NW_GTPV2C_UDP_PORT (2123)
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-static NwGtpv2cTimeoutInfoT* gpGtpv2cTimeoutInfoPool = NULL;
-
-typedef struct {
- int currSize;
- int maxSize;
- NwGtpv2cTimeoutInfoT** pHeap;
-} NwGtpv2cTmrMinHeapT;
-
-#define NW_HEAP_PARENT_INDEX(__child) ( ( (__child) - 1 ) / 2 )
-
-
-NwGtpv2cTmrMinHeapT*
-nwGtpv2cTmrMinHeapNew(int maxSize)
-{
- NwGtpv2cTmrMinHeapT* thiz = (NwGtpv2cTmrMinHeapT*) malloc (sizeof(NwGtpv2cTmrMinHeapT));
-
- if(thiz) {
- thiz->currSize = 0;
- thiz->maxSize = maxSize;
- thiz->pHeap = (NwGtpv2cTimeoutInfoT**) malloc (maxSize * sizeof(NwGtpv2cTimeoutInfoT*));
- }
-
- return thiz;
-}
-
-void
-nwGtpv2cTmrMinHeapDelete(NwGtpv2cTmrMinHeapT* thiz)
-{
- free(thiz->pHeap);
- free(thiz);
-}
-
-static NwRcT
-nwGtpv2cTmrMinHeapInsert(NwGtpv2cTmrMinHeapT* thiz, NwGtpv2cTimeoutInfoT* pTimerEvent)
-{
- int holeIndex = thiz->currSize++;
-
- NW_ASSERT(thiz->currSize < thiz->maxSize);
-
- while((holeIndex > 0) &&
- NW_GTPV2C_TIMER_CMP_P(&(thiz->pHeap[NW_HEAP_PARENT_INDEX(holeIndex)])->tvTimeout, &(pTimerEvent->tvTimeout), >)) {
- thiz->pHeap[holeIndex] = thiz->pHeap[NW_HEAP_PARENT_INDEX(holeIndex)];
- thiz->pHeap[holeIndex]->timerMinHeapIndex = holeIndex;
- holeIndex = NW_HEAP_PARENT_INDEX(holeIndex);
- }
-
- thiz->pHeap[holeIndex] = pTimerEvent;
- pTimerEvent->timerMinHeapIndex = holeIndex;
-
- return holeIndex;
-}
-
-#define NW_MIN_HEAP_INDEX_INVALID (0xFFFFFFFF)
-static NwRcT
-nwGtpv2cTmrMinHeapRemove(NwGtpv2cTmrMinHeapT* thiz, int minHeapIndex)
-{
- NwGtpv2cTimeoutInfoT* pTimerEvent;
- int holeIndex = minHeapIndex;
- int minChild, maxChild;
-
- //printf("- Trying Removing %p from index %u, currSize %u, minChild %u, maxChild %u\n", thiz->pHeap[minHeapIndex], minHeapIndex, thiz->currSize, minChild, maxChild);
- if(minHeapIndex == NW_MIN_HEAP_INDEX_INVALID) return NW_FAILURE;
-
- if(minHeapIndex < thiz->currSize) {
- thiz->pHeap[minHeapIndex]->timerMinHeapIndex = NW_MIN_HEAP_INDEX_INVALID;
- thiz->currSize--;
-
- pTimerEvent = thiz->pHeap[thiz->currSize];
- holeIndex = minHeapIndex;
- minChild = ( 2 * holeIndex ) + 1;
- maxChild = minChild + 1;
-
- //printf("- Removing %p from index %u, currSize %u, minChild %u, maxChild %u\n", thiz->pHeap[minHeapIndex], minHeapIndex, thiz->currSize, minChild, maxChild);
-
- while( (maxChild) <= thiz->currSize ) {
- if(NW_GTPV2C_TIMER_CMP_P(&(thiz->pHeap[minChild]->tvTimeout), &(thiz->pHeap[maxChild]->tvTimeout), >))
- minChild = maxChild;
-
- if(NW_GTPV2C_TIMER_CMP_P(&(pTimerEvent->tvTimeout), &(thiz->pHeap[minChild]->tvTimeout), <)) {
- break;
- }
-
- thiz->pHeap[holeIndex] = thiz->pHeap[minChild];
- thiz->pHeap[holeIndex]->timerMinHeapIndex = holeIndex;
- holeIndex = minChild;
- minChild = ( 2 * holeIndex ) + 1;
- maxChild = minChild + 1;
- }
-
- while((holeIndex > 0) &&
- NW_GTPV2C_TIMER_CMP_P(&((thiz->pHeap[NW_HEAP_PARENT_INDEX(holeIndex)])->tvTimeout), &(pTimerEvent->tvTimeout), >)) {
- thiz->pHeap[holeIndex] = thiz->pHeap[NW_HEAP_PARENT_INDEX(holeIndex)];
- thiz->pHeap[holeIndex]->timerMinHeapIndex = holeIndex;
- holeIndex = NW_HEAP_PARENT_INDEX(holeIndex);
- }
-
- if(holeIndex < thiz->currSize) {
- thiz->pHeap[holeIndex] = pTimerEvent;
- pTimerEvent->timerMinHeapIndex = holeIndex;
- }
-
- thiz->pHeap[thiz->currSize] = NULL;
- return NW_OK;
- }
-
- return NW_FAILURE;
-}
-
-static NwGtpv2cTimeoutInfoT*
-nwGtpv2cTmrMinHeapPeek(NwGtpv2cTmrMinHeapT* thiz)
-{
- if(thiz->currSize) {
- //printf("- Peek Returning %p at index %u(%u)\n", thiz->pHeap[0], thiz->pHeap[0]->timerMinHeapIndex, thiz->currSize);
- return thiz->pHeap[0];
- }
-
- return NULL;
-}
-/*--------------------------------------------------------------------------*
- * P R I V A T E F U N C T I O N S *
- *--------------------------------------------------------------------------*/
-
-static void
-nwGtpv2cDisplayBanner( NwGtpv2cStackT* thiz)
-{
-#ifdef NW_GTPV2C_DISPLAY_LICENCE_INFO
- printf(" *----------------------------------------------------------------------------*\n");
- printf(" * *\n");
- printf(" * n w - g t p v 2 c *\n");
- printf(" * G P R S T u n n e l i n g P r o t o c o l v 2 c S t a c k *\n");
- printf(" * *\n");
- printf(" * *\n");
- printf(" * Copyright (c) 2010-2011 Amit Chawre *\n");
- printf(" * All rights reserved. *\n");
- printf(" * *\n");
- printf(" * Redistribution and use in source and binary forms, with or without *\n");
- printf(" * modification, are permitted provided that the following conditions *\n");
- printf(" * are met: *\n");
- printf(" * *\n");
- printf(" * 1. Redistributions of source code must retain the above copyright *\n");
- printf(" * notice, this list of conditions and the following disclaimer. *\n");
- printf(" * 2. Redistributions in binary form must reproduce the above copyright *\n");
- printf(" * notice, this list of conditions and the following disclaimer in the *\n");
- printf(" * documentation and/or other materials provided with the distribution. *\n");
- printf(" * 3. The name of the author may not be used to endorse or promote products *\n");
- printf(" * derived from this software without specific prior written permission. *\n");
- printf(" * *\n");
- printf(" * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR *\n");
- printf(" * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES *\n");
- printf(" * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. *\n");
- printf(" * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, *\n");
- printf(" * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT *\n");
- printf(" * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, *\n");
- printf(" * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY *\n");
- printf(" * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *\n");
- printf(" * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF *\n");
- printf(" * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *\n");
- printf(" *----------------------------------------------------------------------------*\n\n");
-#endif
-}
-
-/*---------------------------------------------------------------------------
- * Tunnel RBTree Search Data Structure
- *--------------------------------------------------------------------------*/
-
-/**
- Comparator funtion for comparing two sequence number transactions.
-
- @param[in] a: Pointer to session a.
- @param[in] b: Pointer to session b.
- @return An integer greater than, equal to or less than zero according to whether the
- object pointed to by a is greater than, equal to or less than the object pointed to by b.
- */
-
-static inline NwS32T
-nwGtpv2cCompareTunnel(struct NwGtpv2cTunnel * a, struct NwGtpv2cTunnel* b)
-{
- if(a->teid > b->teid)
- return 1;
-
- if(a->teid < b->teid)
- return -1;
-
- if(a->ipv4AddrRemote > b->ipv4AddrRemote)
- return 1;
-
- if(a->ipv4AddrRemote < b->ipv4AddrRemote)
- return -1;
-
- return 0;
-}
-
-RB_GENERATE(NwGtpv2cTunnelMap, NwGtpv2cTunnel, tunnelMapRbtNode, nwGtpv2cCompareTunnel)
-
-/*---------------------------------------------------------------------------
- * Transaction RBTree Search Data Structure
- *--------------------------------------------------------------------------*/
-
-/**
- Comparator funtion for comparing two outstancing TX transactions.
-
- @param[in] a: Pointer to session a.
- @param[in] b: Pointer to session b.
- @return An integer greater than, equal to or less than zero according to whether the
- object pointed to by a is greater than, equal to or less than the object pointed to by b.
- */
-
-static inline NwS32T
-nwGtpv2cCompareOutstandingTxSeqNumTrxn(struct NwGtpv2cTrxn* a, struct NwGtpv2cTrxn* b)
-{
- if(a->seqNum > b->seqNum)
- return 1;
-
- if(a->seqNum < b->seqNum)
- return -1;
-
- if(a->peerIp > b->peerIp)
- return 1;
-
- if(a->peerIp < b->peerIp)
- return -1;
-
- return 0;
-}
-
-RB_GENERATE(NwGtpv2cOutstandingTxSeqNumTrxnMap, NwGtpv2cTrxn, outstandingTxSeqNumMapRbtNode, nwGtpv2cCompareOutstandingTxSeqNumTrxn)
-
-/**
- Comparator funtion for comparing outstanding RX transactions.
-
- @param[in] a: Pointer to session a.
- @param[in] b: Pointer to session b.
- @return An integer greater than, equal to or less than zero according to whether the
- object pointed to by a is greater than, equal to or less than the object pointed to by b.
- */
-
-static inline NwS32T
-nwGtpv2cCompareOutstandingRxSeqNumTrxn(struct NwGtpv2cTrxn* a, struct NwGtpv2cTrxn* b)
-{
- if(a->seqNum > b->seqNum)
- return 1;
-
- if(a->seqNum < b->seqNum)
- return -1;
-
- if(a->peerIp > b->peerIp)
- return 1;
-
- if(a->peerIp < b->peerIp)
- return -1;
-
- if(a->peerPort > b->peerPort)
- return 1;
-
- if(a->peerPort < b->peerPort)
- return -1;
-
- return 0;
-}
-
-RB_GENERATE(NwGtpv2cOutstandingRxSeqNumTrxnMap, NwGtpv2cTrxn, outstandingRxSeqNumMapRbtNode, nwGtpv2cCompareOutstandingRxSeqNumTrxn)
-
-/*---------------------------------------------------------------------------
- * Timer RB-tree data structure.
- *--------------------------------------------------------------------------*/
-
-/**
- Comparator funtion for comparing two outstancing TX transactions.
-
- @param[in] a: Pointer to session a.
- @param[in] b: Pointer to session b.
- @return An integer greater than, equal to or less than zero according to whether the
- object pointed to by a is greater than, equal to or less than the object pointed to by b.
- */
-
-static inline NwS32T
-nwGtpv2cCompareOutstandingTxRexmitTime(struct NwGtpv2cTimeoutInfo* a, struct NwGtpv2cTimeoutInfo* b)
-{
- if(NW_GTPV2C_TIMER_CMP_P(&a->tvTimeout, &b->tvTimeout, >))
- return 1;
-
- if(NW_GTPV2C_TIMER_CMP_P(&a->tvTimeout, &b->tvTimeout, <))
- return -1;
-
- return 0;
-}
-
-RB_GENERATE(NwGtpv2cActiveTimerList, NwGtpv2cTimeoutInfo, activeTimerListRbtNode, nwGtpv2cCompareOutstandingTxRexmitTime)
-
-
-
-/**
- * Send msg to peer via data request to UDP Entity
- *
- * @param[in] thiz : Pointer to stack.
- * @param[in] peerIp : Peer Ip address.
- * @param[in] peerPort : Peer Ip port.
- * @param[in] pMsg : Message to be sent.
- * @return NW_OK on success.
- */
-static NwRcT
-nwGtpv2cCreateAndSendMsg(NW_IN NwGtpv2cStackT* thiz,
- NW_IN uint32_t seqNum,
- NW_IN uint32_t peerIp,
- NW_IN uint32_t peerPort,
- NW_IN NwGtpv2cMsgT *pMsg)
-{
- NwRcT rc;
- uint8_t* msgHdr;
-
- NW_ASSERT(thiz);
- NW_ASSERT(pMsg);
-
- msgHdr = pMsg->msgBuf;
-
- /* Set flags in header */
- *(msgHdr++) = (pMsg->version << 5) | (pMsg->teidPresent << 3);
-
- /* Set msg type in header */
- *(msgHdr++) = (pMsg->msgType);
-
- /* Set msg length in header*/
- *((uint16_t*) msgHdr) = htons(pMsg->msgLen - 4 );
- msgHdr += 2;
-
- /* Set TEID, if present in header */
- if(pMsg->teidPresent) {
- *((uint32_t*) msgHdr) = htonl(pMsg->teid);
- msgHdr += 4;
- }
-
- /* Set seq num in header */
- *((uint32_t*) msgHdr) = htonl(seqNum << 8);
-
- /* Call UDP data request callback */
- NW_ASSERT(thiz->udp.udpDataReqCallback != NULL);
- rc = thiz->udp.udpDataReqCallback(thiz->udp.hUdp,
- pMsg->msgBuf,
- pMsg->msgLen,
- peerIp,
- peerPort);
- NW_ASSERT(NW_OK == rc);
-
- return rc;
-}
-
-/**
- Send an Version Not Supported message
-
- @param[in] thiz : Stack pointer
- @return NW_OK on success.
- */
-
-static NwRcT
-nwGtpv2cSendVersionNotSupportedInd( NW_IN NwGtpv2cStackT* thiz,
- NW_IN uint32_t peerIp,
- NW_IN uint32_t peerPort,
- NW_IN uint32_t seqNum)
-{
- NwRcT rc;
- NwGtpv2cMsgHandleT hMsg = 0;
-
- rc = nwGtpv2cMsgNew( (NwGtpv2cStackHandleT)thiz,
- NW_FALSE,
- NW_GTP_VERSION_NOT_SUPPORTED_IND,
- 0x00,
- seqNum,
- (&hMsg));
-
- NW_ASSERT(NW_OK == rc);
-
- NW_LOG(thiz, NW_LOG_LEVEL_NOTI, "Sending Version Not Supported Indication message to %x:%x with seq %u", peerIp, peerPort, seqNum);
-
- rc = nwGtpv2cCreateAndSendMsg(thiz,
- seqNum,
- peerIp,
- peerPort,
- (NwGtpv2cMsgT*) hMsg);
-
- rc = nwGtpv2cMsgDelete((NwGtpv2cStackHandleT)thiz, hMsg);
- NW_ASSERT(NW_OK == rc);
-
- return rc;
-}
-
-/**
- Create a local tunnel.
-
- @param[in] thiz : Stack pointer
- @return NW_OK on success.
- */
-
-static NwRcT
-nwGtpv2cCreateLocalTunnel( NW_IN NwGtpv2cStackT* thiz,
- NW_IN uint32_t teid,
- NW_IN uint32_t ipv4Remote,
- NW_IN NwGtpv2cUlpTunnelHandleT hUlpTunnel,
- NW_OUT NwGtpv2cTunnelHandleT *phTunnel)
-{
- NwRcT rc;
- NwGtpv2cTunnelT *pTunnel, *pCollision;
-
- NW_ENTER(thiz);
-
- NW_LOG(thiz, NW_LOG_LEVEL_DEBG, "Creating local tunnel with teid '0x%x' and peer IP 0x%x", teid, ipv4Remote);
-
- pTunnel = nwGtpv2cTunnelNew(thiz, teid, ipv4Remote, hUlpTunnel);
-
- if(pTunnel) {
- pCollision = RB_INSERT(NwGtpv2cTunnelMap, &(thiz->tunnelMap), pTunnel);
-
- if(pCollision) {
- rc = nwGtpv2cTunnelDelete(thiz, pTunnel);
- NW_ASSERT(NW_OK == rc);
-
- *phTunnel = (NwGtpv2cTunnelHandleT) 0;
- NW_LOG(thiz, NW_LOG_LEVEL_WARN, "Local tunnel creation failed for teid '0x%x' and peer IP "NW_IPV4_ADDR". Tunnel already exists!", teid, NW_IPV4_ADDR_FORMAT(ipv4Remote));
-
- NW_ASSERT(0);
- NW_LEAVE(thiz);
- return NW_OK;
- }
- } else {
- rc = NW_FAILURE;
- }
-
- *phTunnel = (NwGtpv2cTunnelHandleT) pTunnel;
- NW_LEAVE(thiz);
- return NW_OK;
-}
-
-/**
- Delete a local tunnel.
-
- @param[in] thiz : Stack pointer
- @return NW_OK on success.
- */
-
-static NwRcT
-nwGtpv2cDeleteLocalTunnel( NW_IN NwGtpv2cStackT* thiz,
- NW_OUT NwGtpv2cTunnelHandleT hTunnel)
-{
- NwRcT rc;
- NwGtpv2cTunnelT *pTunnel = (NwGtpv2cTunnelT*) hTunnel ;
-
- NW_ENTER(thiz);
-
- pTunnel = RB_REMOVE(NwGtpv2cTunnelMap, &(thiz->tunnelMap), (NwGtpv2cTunnelT*)hTunnel);
- NW_ASSERT(pTunnel == (NwGtpv2cTunnelT*)hTunnel);
-
- NW_LOG(thiz, NW_LOG_LEVEL_DEBG, "Deleting local tunnel with teid '0x%x' and peer IP 0x%x", pTunnel->teid, pTunnel->ipv4AddrRemote);
-
- rc = nwGtpv2cTunnelDelete(thiz, pTunnel);
- NW_ASSERT(NW_OK == rc);
-
- NW_LEAVE(thiz);
- return NW_OK;
-}
-
-/*---------------------------------------------------------------------------
- * ULP API Processing Functions
- *--------------------------------------------------------------------------*/
-
-/**
- Process NW_GTPV2C_ULP_API_INITIAL_REQ Request from ULP entity.
-
- @param[in] hGtpcStackHandle : Stack handle
- @param[in] pUlpReq : Pointer to Ulp Req.
- @return NW_OK on success.
- */
-
-static NwRcT
-nwGtpv2cHandleUlpInitialReq( NW_IN NwGtpv2cStackT* thiz, NW_IN NwGtpv2cUlpApiT *pUlpReq)
-{
- NwRcT rc;
- NwGtpv2cTrxnT *pTrxn;
-
- NW_ENTER(thiz);
-
- /* Create New Transaction */
- pTrxn = nwGtpv2cTrxnNew(thiz);
-
- if(pTrxn) {
- if(!pUlpReq->apiInfo.initialReqInfo.hTunnel) {
- rc = nwGtpv2cCreateLocalTunnel(thiz,
- pUlpReq->apiInfo.initialReqInfo.teidLocal,
- pUlpReq->apiInfo.initialReqInfo.peerIp,
- pUlpReq->apiInfo.initialReqInfo.hUlpTunnel,
- &pUlpReq->apiInfo.initialReqInfo.hTunnel);
- NW_ASSERT(NW_OK == rc);
- }
-
- pTrxn->pMsg = (NwGtpv2cMsgT*) pUlpReq->hMsg;
- pTrxn->hTunnel = pUlpReq->apiInfo.initialReqInfo.hTunnel;
- pTrxn->hUlpTrxn = pUlpReq->apiInfo.initialReqInfo.hUlpTrxn;
- pTrxn->peerIp = ((NwGtpv2cTunnelT*)(pTrxn->hTunnel))->ipv4AddrRemote;
- pTrxn->peerPort = NW_GTPV2C_UDP_PORT;
-
- if(pUlpReq->apiType & NW_GTPV2C_ULP_API_FLAG_IS_COMMAND_MESSAGE) {
- pTrxn->seqNum |= 0x00100000UL;
- }
-
- rc = nwGtpv2cCreateAndSendMsg(thiz,
- pTrxn->seqNum,
- pTrxn->peerIp,
- pTrxn->peerPort,
- pTrxn->pMsg);
-
- if(NW_OK == rc) {
- /* Start guard timer */
- rc = nwGtpv2cTrxnStartPeerRspWaitTimer(pTrxn);
- NW_ASSERT(NW_OK == rc);
-
- /* Insert into search tree */
- pTrxn = RB_INSERT(NwGtpv2cOutstandingTxSeqNumTrxnMap, &(thiz->outstandingTxSeqNumMap), pTrxn);
- NW_ASSERT(pTrxn == NULL);
- } else {
- rc = nwGtpv2cTrxnDelete(&pTrxn);
- NW_ASSERT(NW_OK == rc);
- }
- } else {
- rc = NW_FAILURE;
- }
-
- NW_LEAVE(thiz);
-
- return rc;
-}
-
-/**
- Process NW_GTPV2C_ULP_API_TRIGGERED_REQ Request from ULP entity.
-
- @param[in] hGtpcStackHandle : Stack handle
- @param[in] pUlpReq : Pointer to Ulp Req.
- @return NW_OK on success.
- */
-
-static NwRcT
-nwGtpv2cHandleUlpTriggeredReq( NW_IN NwGtpv2cStackT* thiz, NW_IN NwGtpv2cUlpApiT *pUlpReq)
-{
- NwRcT rc;
- NwGtpv2cTrxnT *pTrxn;
- NwGtpv2cTrxnT *pReqTrxn;
-
- NW_ENTER(thiz);
-
- /* Create New Transaction */
- pTrxn = nwGtpv2cTrxnWithSeqNumNew(thiz, (((NwGtpv2cMsgT*)(pUlpReq->hMsg))->seqNum));
-
- if(pTrxn) {
- pReqTrxn = (NwGtpv2cTrxnT*) pUlpReq->apiInfo.triggeredReqInfo.hTrxn;
-
- pTrxn->hUlpTrxn = pUlpReq->apiInfo.triggeredReqInfo.hUlpTrxn;
- pTrxn->peerIp = pReqTrxn->peerIp;
- pTrxn->peerPort = pReqTrxn->peerPort;
- pTrxn->pMsg = (NwGtpv2cMsgT*) pUlpReq->hMsg;
-
- rc = nwGtpv2cCreateAndSendMsg(thiz,
- pTrxn->seqNum,
- pTrxn->peerIp,
- pTrxn->peerPort,
- pTrxn->pMsg);
-
- if(NW_OK == rc) {
- /* Start guard timer */
- rc = nwGtpv2cTrxnStartPeerRspWaitTimer(pTrxn);
- NW_ASSERT(NW_OK == rc);
-
- /* Insert into search tree */
- RB_INSERT(NwGtpv2cOutstandingTxSeqNumTrxnMap, &(thiz->outstandingTxSeqNumMap), pTrxn);
-
- if(!pUlpReq->apiInfo.triggeredReqInfo.hTunnel) {
- rc = nwGtpv2cCreateLocalTunnel(thiz,
- pUlpReq->apiInfo.triggeredReqInfo.teidLocal,
- pReqTrxn->peerIp,
- pUlpReq->apiInfo.triggeredReqInfo.hUlpTunnel,
- &pUlpReq->apiInfo.triggeredReqInfo.hTunnel);
- }
- } else {
- rc = nwGtpv2cTrxnDelete(&pTrxn);
- NW_ASSERT(NW_OK == rc);
- }
- } else {
- rc = NW_FAILURE;
- }
-
- NW_LEAVE(thiz);
-
- return rc;
-}
-
-/**
- Process NW_GTPV2C_ULP_API_TRIGGERED_RSP Request from ULP entity.
-
- @param[in] hGtpcStackHandle : Stack handle
- @param[in] pUlpReq : Pointer to Ulp Req.
- @return NW_OK on success.
- */
-
-static NwRcT
-nwGtpv2cHandleUlpTriggeredRsp( NW_IN NwGtpv2cStackT* thiz, NW_IN NwGtpv2cUlpApiT *pUlpRsp)
-{
- NwRcT rc;
- NwGtpv2cTrxnT *pReqTrxn;
-
- NW_ENTER(thiz);
-
- pReqTrxn = (NwGtpv2cTrxnT*) pUlpRsp->apiInfo.triggeredRspInfo.hTrxn;
- NW_ASSERT(pReqTrxn != NULL);
-
- if(((NwGtpv2cMsgT*) pUlpRsp->hMsg)->seqNum == 0)
- ((NwGtpv2cMsgT*) pUlpRsp->hMsg)->seqNum = pReqTrxn->seqNum;
-
- NW_LOG(thiz, NW_LOG_LEVEL_DEBG, "Sending response message over seq '0x%x'", pReqTrxn->seqNum);
-
- rc = nwGtpv2cCreateAndSendMsg(thiz,
- pReqTrxn->seqNum,
- pReqTrxn->peerIp,
- pReqTrxn->peerPort,
- (NwGtpv2cMsgT*) pUlpRsp->hMsg);
-
- pReqTrxn->pMsg = (NwGtpv2cMsgT*) pUlpRsp->hMsg;
-
- rc = nwGtpv2cTrxnStartDulpicateRequestWaitTimer(pReqTrxn);
-
- if((pUlpRsp->apiType & 0xFF000000) == NW_GTPV2C_ULP_API_FLAG_CREATE_LOCAL_TUNNEL) {
- rc = nwGtpv2cCreateLocalTunnel(thiz,
- pUlpRsp->apiInfo.triggeredRspInfo.teidLocal,
- pReqTrxn->peerIp,
- pUlpRsp->apiInfo.triggeredRspInfo.hUlpTunnel,
- &pUlpRsp->apiInfo.triggeredRspInfo.hTunnel);
- }
-
- return rc;
-}
-
-/**
- Process NW_GTPV2C_ULP_CREATE_LOCAL_TUNNEL Request from ULP entity.
-
- @param[in] hGtpcStackHandle : Stack handle
- @param[in] pUlpReq : Pointer to Ulp Req.
- @return NW_OK on success.
- */
-
-static NwRcT
-nwGtpv2cHandleUlpCreateLocalTunnel( NW_IN NwGtpv2cStackT* thiz, NW_IN NwGtpv2cUlpApiT *pUlpReq)
-{
- NwRcT rc;
- NwGtpv2cTunnelT *pTunnel, *pCollision;
-
- NW_ENTER(thiz);
-
- NW_LOG(thiz, NW_LOG_LEVEL_DEBG, "Creating local tunnel with teid '0x%x' and peer IP 0x%x", pUlpReq->apiInfo.createLocalTunnelInfo.teidLocal, pUlpReq->apiInfo.createLocalTunnelInfo.peerIp);
-
- pTunnel = nwGtpv2cTunnelNew(thiz, pUlpReq->apiInfo.createLocalTunnelInfo.teidLocal,
- pUlpReq->apiInfo.createLocalTunnelInfo.peerIp,
- pUlpReq->apiInfo.triggeredRspInfo.hUlpTunnel);
- NW_ASSERT(pTunnel);
-
- pCollision = RB_INSERT(NwGtpv2cTunnelMap, &(thiz->tunnelMap), pTunnel);
-
- if(pCollision) {
- rc = nwGtpv2cTunnelDelete(thiz, pTunnel);
- NW_ASSERT(NW_OK == rc);
-
- pUlpReq->apiInfo.createLocalTunnelInfo.hTunnel = (NwGtpv2cTunnelHandleT) 0;
- NW_LEAVE(thiz);
- return NW_FAILURE;
- }
-
- pUlpReq->apiInfo.createLocalTunnelInfo.hTunnel = (NwGtpv2cTunnelHandleT) pTunnel;
- NW_LEAVE(thiz);
- return NW_OK;
-}
-
-/**
- Process NW_GTPV2C_ULP_DELETE_LOCAL_TUNNEL Request from ULP entity.
-
- @param[in] hGtpcStackHandle : Stack handle
- @param[in] pUlpReq : Pointer to Ulp Req.
- @return NW_OK on success.
- */
-
-static NwRcT
-nwGtpv2cHandleUlpDeleteLocalTunnel( NW_IN NwGtpv2cStackT* thiz, NW_IN NwGtpv2cUlpApiT *pUlpReq)
-{
- NwRcT rc;
-
- NW_ENTER(thiz);
-
- rc = nwGtpv2cDeleteLocalTunnel(thiz, pUlpReq->apiInfo.deleteLocalTunnelInfo.hTunnel);
-
- NW_LEAVE(thiz);
- return rc;
-}
-
-/**
- Send GTPv2c Initial Request Message Indication to ULP entity.
-
- @param[in] hGtpcStackHandle : Stack handle
- @return NW_OK on success.
- */
-
-static NwRcT
-nwGtpv2cSendInitialReqIndToUlp( NW_IN NwGtpv2cStackT *thiz,
- NW_IN NwGtpv2cErrorT *pError,
- NW_IN NwGtpv2cTrxnT *pTrxn,
- NW_IN uint32_t hUlpTunnel,
- NW_IN uint32_t msgType,
- NW_IN uint32_t peerIp,
- NW_IN uint16_t peerPort,
- NW_IN NwGtpv2cMsgHandleT hMsg)
-{
- NwRcT rc;
- NwGtpv2cUlpApiT ulpApi;
-
- NW_ENTER(thiz);
-
- ulpApi.hMsg = hMsg;
- ulpApi.apiType = NW_GTPV2C_ULP_API_INITIAL_REQ_IND;
- ulpApi.apiInfo.initialReqIndInfo.msgType = msgType;
- ulpApi.apiInfo.initialReqIndInfo.hTrxn = (NwGtpv2cTrxnHandleT) pTrxn;
- ulpApi.apiInfo.initialReqIndInfo.hUlpTunnel = hUlpTunnel;
- ulpApi.apiInfo.initialReqIndInfo.peerIp = peerIp;
- ulpApi.apiInfo.initialReqIndInfo.peerPort = peerPort;
-
- ulpApi.apiInfo.triggeredRspIndInfo.error = *pError;
-
- rc = thiz->ulp.ulpReqCallback(thiz->ulp.hUlp, &ulpApi);
-
- NW_LEAVE(thiz);
-
- return rc;
-}
-
-/**
- Send GTPv2c Triggered Response Indication to ULP entity.
-
- @param[in] hGtpcStackHandle : Stack handle
- @return NW_OK on success.
- */
-
-static NwRcT
-nwGtpv2cSendTriggeredRspIndToUlp( NW_IN NwGtpv2cStackT* thiz,
- NW_IN NwGtpv2cErrorT *pError,
- NW_IN uint32_t hUlpTrxn,
- NW_IN uint32_t hUlpTunnel,
- NW_IN uint32_t msgType,
- NW_IN NwGtpv2cMsgHandleT hMsg)
-{
- NwRcT rc;
- NwGtpv2cUlpApiT ulpApi;
-
- NW_ENTER(thiz);
-
- ulpApi.hMsg = hMsg;
- ulpApi.apiType = NW_GTPV2C_ULP_API_TRIGGERED_RSP_IND;
- ulpApi.apiInfo.triggeredRspIndInfo.msgType = msgType;
- ulpApi.apiInfo.triggeredRspIndInfo.hUlpTrxn = hUlpTrxn;
- ulpApi.apiInfo.triggeredRspIndInfo.hUlpTunnel = hUlpTunnel;
-
- ulpApi.apiInfo.triggeredRspIndInfo.error = *pError;
-
- rc = thiz->ulp.ulpReqCallback(thiz->ulp.hUlp, &ulpApi);
-
- NW_LEAVE(thiz);
-
- return rc;
-}
-
-/**
- Handle Echo Request from Peer Entity.
-
- @param[in] thiz : Stack context
- @return NW_OK on success.
- */
-
-static NwRcT
-nwGtpv2cHandleEchoReq(NW_IN NwGtpv2cStackT *thiz,
- NW_IN uint32_t msgType,
- NW_IN uint8_t* msgBuf,
- NW_IN uint32_t msgBufLen,
- NW_IN uint16_t peerPort,
- NW_IN uint32_t peerIp)
-{
- NwRcT rc;
- uint32_t seqNum = 0;
- NwGtpv2cMsgHandleT hMsg = 0;
-
- seqNum = ntohl(*((uint32_t*)(msgBuf + (((*msgBuf) & 0x08) ? 8 : 4)))) >> 8;
-
- /* Send Echo Response */
-
- rc = nwGtpv2cMsgNew( (NwGtpv2cStackHandleT)thiz,
- NW_FALSE, /* TEID present flag */
- NW_GTP_ECHO_RSP, /* Msg Type */
- 0x00, /* TEID */
- seqNum, /* Seq Number */
- (&hMsg));
-
- NW_ASSERT(NW_OK == rc);
-
- rc = nwGtpv2cMsgAddIeTV1(hMsg, NW_GTPV2C_IE_RECOVERY, 0, thiz->restartCounter);
-
- NW_LOG(thiz, NW_LOG_LEVEL_ERRO, "Sending NW_GTP_ECHO_RSP message to "NW_IPV4_ADDR":%u with seq %u", NW_IPV4_ADDR_FORMAT(peerIp), peerPort, (seqNum));
-
- rc = nwGtpv2cCreateAndSendMsg(thiz,
- (seqNum),
- peerIp,
- peerPort,
- (NwGtpv2cMsgT*) hMsg);
-
- rc = nwGtpv2cMsgDelete((NwGtpv2cStackHandleT)thiz, hMsg);
- NW_ASSERT(NW_OK == rc);
-
- return rc;
-}
-
-/**
- Handle Initial Request from Peer Entity.
-
- @param[in] thiz : Stack context
- @return NW_OK on success.
- */
-
-static NwRcT
-nwGtpv2cHandleInitialReq(NW_IN NwGtpv2cStackT *thiz,
- NW_IN uint32_t msgType,
- NW_IN uint8_t* msgBuf,
- NW_IN uint32_t msgBufLen,
- NW_IN uint16_t peerPort,
- NW_IN uint32_t peerIp)
-{
- NwRcT rc;
- uint32_t seqNum = 0;
- uint32_t teidLocal = 0;
- NwGtpv2cTrxnT *pTrxn;
- NwGtpv2cTunnelT *pLocalTunnel, keyTunnel;
- NwGtpv2cMsgHandleT hMsg = 0;
- NwGtpv2cUlpTunnelHandleT hUlpTunnel;
- NwGtpv2cErrorT error;
-
- teidLocal = *((uint32_t*)(msgBuf + 4));
-
- if(teidLocal) {
- keyTunnel.teid = ntohl(teidLocal);
- keyTunnel.ipv4AddrRemote = peerIp;
- pLocalTunnel = RB_FIND(NwGtpv2cTunnelMap, &(thiz->tunnelMap), &keyTunnel);
-
- if(!pLocalTunnel) {
- NW_LOG(thiz, NW_LOG_LEVEL_WARN, "Request message received on non-existent teid 0x%x from peer 0x%x received! Discarding.", ntohl(teidLocal), htonl(peerIp));
- return NW_OK;
- }
-
- hUlpTunnel = pLocalTunnel->hUlpTunnel;
- } else {
- hUlpTunnel = 0;
- }
-
- seqNum = ntohl(*((uint32_t*)(msgBuf + (((*msgBuf) & 0x08) ? 8 : 4)))) >> 8;
- pTrxn = nwGtpv2cTrxnOutstandingRxNew(thiz, ntohl(teidLocal), peerIp, peerPort, (seqNum));
-
- if(pTrxn) {
-
- rc = nwGtpv2cMsgFromBufferNew((NwGtpv2cStackHandleT)thiz, msgBuf, msgBufLen, &(hMsg));
-
- NW_ASSERT(thiz->pGtpv2cMsgIeParseInfo[msgType]);
-
- rc = nwGtpv2cMsgIeParse(thiz->pGtpv2cMsgIeParseInfo[msgType], hMsg, &error);
-
- if(rc != NW_OK) {
- NW_LOG(thiz, NW_LOG_LEVEL_WARN, "Malformed request message received on TEID %u from peer 0x%x. Notifying ULP.", ntohl(teidLocal), htonl(peerIp));
- }
-
- rc = nwGtpv2cSendInitialReqIndToUlp( thiz,
- &error,
- pTrxn,
- hUlpTunnel,
- msgType,
- peerIp,
- peerPort,
- hMsg);
- }
-
- return NW_OK;
-}
-
-/**
- Handle Triggered Response from Peer Entity.
-
- @param[in] thiz : Stack context
- @return NW_OK on success.
- */
-
-static NwRcT
-nwGtpv2cHandleTriggeredRsp(NW_IN NwGtpv2cStackT *thiz,
- NW_IN uint32_t msgType,
- NW_IN uint8_t* msgBuf,
- NW_IN uint32_t msgBufLen,
- NW_IN uint16_t peerPort,
- NW_IN uint32_t peerIp)
-{
- NwRcT rc;
- NwGtpv2cTrxnT *pTrxn, keyTrxn;
- NwGtpv2cMsgHandleT hMsg = 0;
- NwGtpv2cErrorT error;
-
- keyTrxn.seqNum = ntohl(*((uint32_t*)(msgBuf + (((*msgBuf) & 0x08) ? 8 : 4)))) >> 8;;
- keyTrxn.peerIp = peerIp;
-
- pTrxn = RB_FIND(NwGtpv2cOutstandingTxSeqNumTrxnMap, &(thiz->outstandingTxSeqNumMap), &keyTrxn);
-
- if(pTrxn) {
- uint32_t hUlpTrxn;
- uint32_t hUlpTunnel;
-
- hUlpTrxn = pTrxn->hUlpTrxn;
- hUlpTunnel = (pTrxn->hTunnel ? ((NwGtpv2cTunnelT*)(pTrxn->hTunnel))->hUlpTunnel : 0);
-
- RB_REMOVE(NwGtpv2cOutstandingTxSeqNumTrxnMap, &(thiz->outstandingTxSeqNumMap), pTrxn);
- rc = nwGtpv2cTrxnDelete(&pTrxn);
- NW_ASSERT(NW_OK == rc);
-
- NW_ASSERT(msgBuf && msgBufLen);
- rc = nwGtpv2cMsgFromBufferNew((NwGtpv2cStackHandleT)thiz, msgBuf, msgBufLen, &(hMsg));
-
- NW_ASSERT(thiz->pGtpv2cMsgIeParseInfo[msgType]);
- rc = nwGtpv2cMsgIeParse(thiz->pGtpv2cMsgIeParseInfo[msgType], hMsg, &error);
-
- if(rc != NW_OK) {
- NW_LOG(thiz, NW_LOG_LEVEL_WARN, "Malformed message received on TEID %u from peer 0x%x. Notifying ULP.", ntohl((*((uint32_t*)(msgBuf + 4)))), htonl(peerIp));
- }
-
- rc = nwGtpv2cSendTriggeredRspIndToUlp( thiz,
- &error,
- hUlpTrxn,
- hUlpTunnel,
- msgType,
- hMsg);
- } else {
- NW_LOG(thiz, NW_LOG_LEVEL_WARN, "Response message without a matching outstanding request received! Discarding.");
- rc = NW_OK;
- }
-
- return rc;
-}
-
-/*--------------------------------------------------------------------------*
- * P U B L I C F U N C T I O N S *
- *--------------------------------------------------------------------------*/
-
-/**
- * Constructor
- */
-
-NwRcT
-nwGtpv2cInitialize( NW_INOUT NwGtpv2cStackHandleT* hGtpcStackHandle)
-{
- NwRcT rc = NW_OK;
- NwGtpv2cStackT* thiz;
-
- thiz = (NwGtpv2cStackT*) malloc( sizeof(NwGtpv2cStackT));
-
- memset(thiz, 0, sizeof(NwGtpv2cStackT));
-
- if(thiz) {
- thiz->id = (uint32_t) thiz;
- thiz->seqNum = ((uint32_t) thiz) & 0x0000FFFF;
-
- RB_INIT(&(thiz->tunnelMap));
- RB_INIT(&(thiz->outstandingTxSeqNumMap));
- RB_INIT(&(thiz->outstandingRxSeqNumMap));
- RB_INIT(&(thiz->activeTimerList));
-
- thiz->hTmrMinHeap = (NwHandleT) nwGtpv2cTmrMinHeapNew(10000);
-
- NW_GTPV2C_INIT_MSG_IE_PARSE_INFO(thiz, NW_GTP_ECHO_RSP);
-
- /* For S11 interface */
- NW_GTPV2C_INIT_MSG_IE_PARSE_INFO(thiz, NW_GTP_CREATE_SESSION_REQ);
- NW_GTPV2C_INIT_MSG_IE_PARSE_INFO(thiz, NW_GTP_CREATE_SESSION_RSP);
- NW_GTPV2C_INIT_MSG_IE_PARSE_INFO(thiz, NW_GTP_DELETE_SESSION_REQ);
- NW_GTPV2C_INIT_MSG_IE_PARSE_INFO(thiz, NW_GTP_DELETE_SESSION_RSP);
- NW_GTPV2C_INIT_MSG_IE_PARSE_INFO(thiz, NW_GTP_MODIFY_BEARER_REQ);
- NW_GTPV2C_INIT_MSG_IE_PARSE_INFO(thiz, NW_GTP_MODIFY_BEARER_RSP);
-
- /* For S10 interface */
- NW_GTPV2C_INIT_MSG_IE_PARSE_INFO(thiz, NW_GTP_FORWARD_RELOCATION_REQ);
- NW_GTPV2C_INIT_MSG_IE_PARSE_INFO(thiz, NW_GTP_FORWARD_RELOCATION_RSP);
- NW_GTPV2C_INIT_MSG_IE_PARSE_INFO(thiz, NW_GTP_FORWARD_RELOCATION_COMPLETE_NTF);
- NW_GTPV2C_INIT_MSG_IE_PARSE_INFO(thiz, NW_GTP_FORWARD_RELOCATION_COMPLETE_ACK);
- NW_GTPV2C_INIT_MSG_IE_PARSE_INFO(thiz, NW_GTP_CONTEXT_REQ);
- NW_GTPV2C_INIT_MSG_IE_PARSE_INFO(thiz, NW_GTP_CONTEXT_REQ);
- NW_GTPV2C_INIT_MSG_IE_PARSE_INFO(thiz, NW_GTP_CONTEXT_ACK);
- NW_GTPV2C_INIT_MSG_IE_PARSE_INFO(thiz, NW_GTP_IDENTIFICATION_REQ);
- NW_GTPV2C_INIT_MSG_IE_PARSE_INFO(thiz, NW_GTP_IDENTIFICATION_RSP);
-
- nwGtpv2cDisplayBanner(thiz);
- } else {
- rc = NW_FAILURE;
- }
-
- *hGtpcStackHandle = (NwGtpv2cStackHandleT) thiz;
- return rc;
-}
-
-
-/**
- * Destructor
- */
-
-NwRcT
-nwGtpv2cFinalize( NW_IN NwGtpv2cStackHandleT hGtpcStackHandle)
-{
- if(!hGtpcStackHandle)
- return NW_FAILURE;
-
- free((void*)hGtpcStackHandle);
- return NW_OK;
-}
-
-
-/**
- * Set ULP entity
- */
-
-NwRcT
-nwGtpv2cSetUlpEntity( NW_IN NwGtpv2cStackHandleT hGtpcStackHandle,
- NW_IN NwGtpv2cUlpEntityT* pUlpEntity)
-{
- NwGtpv2cStackT* thiz = (NwGtpv2cStackT*) hGtpcStackHandle;
-
- if(!pUlpEntity)
- return NW_FAILURE;
-
- thiz->ulp = *(pUlpEntity);
- return NW_OK;
-}
-
-/**
- * Set UDP entity
- */
-
-NwRcT
-nwGtpv2cSetUdpEntity( NW_IN NwGtpv2cStackHandleT hGtpcStackHandle,
- NW_IN NwGtpv2cUdpEntityT* pUdpEntity)
-{
- NwGtpv2cStackT* thiz = (NwGtpv2cStackT*) hGtpcStackHandle;
-
- if(!pUdpEntity)
- return NW_FAILURE;
-
- thiz->udp = *(pUdpEntity);
- return NW_OK;
-}
-
-/**
- * Set MEM MGR entity
- */
-
-NwRcT
-nwGtpv2cSetMemMgrEntity( NW_IN NwGtpv2cStackHandleT hGtpcStackHandle,
- NW_IN NwGtpv2cMemMgrEntityT* pMemMgrEntity)
-{
- NwGtpv2cStackT* thiz = (NwGtpv2cStackT*) hGtpcStackHandle;
-
- if(!pMemMgrEntity)
- return NW_FAILURE;
-
- thiz->memMgr = *(pMemMgrEntity);
- return NW_OK;
-}
-
-/**
- * Set TMR MGR entity
- */
-
-NwRcT
-nwGtpv2cSetTimerMgrEntity( NW_IN NwGtpv2cStackHandleT hGtpcStackHandle,
- NW_IN NwGtpv2cTimerMgrEntityT* pTmrMgrEntity)
-{
- NwGtpv2cStackT* thiz = (NwGtpv2cStackT*) hGtpcStackHandle;
-
- if(!pTmrMgrEntity)
- return NW_FAILURE;
-
- thiz->tmrMgr = *(pTmrMgrEntity);
- return NW_OK;
-}
-
-
-/**
- * Set LOG MGR entity
- */
-
-NwRcT
-nwGtpv2cSetLogMgrEntity( NW_IN NwGtpv2cStackHandleT hGtpcStackHandle,
- NW_IN NwGtpv2cLogMgrEntityT* pLogMgrEntity)
-{
- NwGtpv2cStackT* thiz = (NwGtpv2cStackT*) hGtpcStackHandle;
-
- if(!pLogMgrEntity)
- return NW_FAILURE;
-
- thiz->logMgr = *(pLogMgrEntity);
- return NW_OK;
-}
-
-/**
- Set log level for the stack.
- */
-
-NwRcT
-nwGtpv2cSetLogLevel( NW_IN NwGtpv2cStackHandleT hGtpcStackHandle,
- NW_IN uint32_t logLevel)
-{
- NwGtpv2cStackT* thiz = (NwGtpv2cStackT*) hGtpcStackHandle;
- thiz->logLevel = logLevel;
- return NW_OK;
-}
-
-/**
- * Process Request from Udp Layer
- */
-
-NwRcT
-nwGtpv2cProcessUdpReq( NW_IN NwGtpv2cStackHandleT hGtpcStackHandle,
- NW_IN uint8_t* udpData,
- NW_IN uint32_t udpDataLen,
- NW_IN uint16_t peerPort,
- NW_IN uint32_t peerIp)
-{
- NwRcT rc;
- NwGtpv2cStackT* thiz;
- uint16_t msgType;
-
- thiz = (NwGtpv2cStackT*) hGtpcStackHandle;
- NW_ASSERT(thiz);
-
- NW_ENTER(thiz);
-
- if(udpDataLen < NW_GTPV2C_MINIMUM_HEADER_SIZE) {
- /*
- * TS 29.274 Section 7.7.3:
- * If a GTP entity receives a message, which is too short to
- * contain the respective GTPv2 header, the GTP-PDU shall be
- * silently discarded
- */
- NW_LOG(thiz, NW_LOG_LEVEL_WARN, "Received message too small! Discarding.");
- return NW_OK;
- }
-
- if( (ntohs(*((uint16_t*)((uint8_t*)udpData + 2))) /* Length */
- + ((*((uint8_t*)(udpData)) & 0x08) ? 4 : 0) /* Extra Header length if TEID present */) > udpDataLen) {
- NW_LOG(thiz, NW_LOG_LEVEL_WARN, "Received message with errneous length of %u against expected length of %u! Discarding", udpDataLen,
- ntohs(*((uint16_t*)((uint8_t*)udpData + 2))) + ((*((uint8_t*)(udpData)) & 0x08) ? 4 : 0));
- return NW_OK;
- }
-
- if(((*((uint8_t*)(udpData)) & 0xE0) >> 5) != NW_GTP_VERSION) {
- NW_LOG(thiz, NW_LOG_LEVEL_WARN, "Received unsupported GTP version '%u' message! Discarding.", ((*((uint8_t*)(udpData)) & 0xE0) >> 5));
- /* Send Version Not Supported Message to peer */
- rc = nwGtpv2cSendVersionNotSupportedInd(
- thiz,
- peerIp,
- peerPort,
- *((uint32_t*)(udpData + ((*((uint8_t*)(udpData)) & 0x08) ? 8 : 4))) /* Seq Num */);
-
- return NW_OK;
- }
-
- msgType = *((uint8_t*)(udpData + 1));
-
- switch(msgType) {
- case NW_GTP_ECHO_REQ: {
- rc = nwGtpv2cHandleEchoReq(thiz, msgType, udpData, udpDataLen, peerPort, peerIp);
- }
- break;
-
- case NW_GTP_CREATE_SESSION_REQ:
- case NW_GTP_MODIFY_BEARER_REQ:
- case NW_GTP_DELETE_SESSION_REQ:
- case NW_GTP_CREATE_BEARER_REQ:
- case NW_GTP_UPDATE_BEARER_REQ:
- case NW_GTP_DELETE_BEARER_REQ: {
- rc = nwGtpv2cHandleInitialReq(thiz, msgType, udpData, udpDataLen, peerPort, peerIp);
- }
- break;
-
- case NW_GTP_ECHO_RSP:
- case NW_GTP_CREATE_SESSION_RSP:
- case NW_GTP_MODIFY_BEARER_RSP:
- case NW_GTP_DELETE_SESSION_RSP:
- case NW_GTP_CREATE_BEARER_RSP:
- case NW_GTP_UPDATE_BEARER_RSP:
- case NW_GTP_DELETE_BEARER_RSP: {
- rc = nwGtpv2cHandleTriggeredRsp(thiz, msgType, udpData, udpDataLen, peerPort, peerIp);
- }
- break;
-
- default: {
- /*
- * TS 29.274 Section 7.7.4:
- * If a GTP entity receives a message with an unknown Message Type
- * value, it shall silently discard the message.
- */
- NW_LOG(thiz, NW_LOG_LEVEL_WARN, "Received unknown message type %u from UDP! Ignoring.", msgType);
- rc = NW_OK;
- }
- }
-
- NW_LEAVE(thiz);
- return rc;
-}
-
-
-/*
- * Process Request from Upper Layer
- */
-
-NwRcT
-nwGtpv2cProcessUlpReq( NW_IN NwGtpv2cStackHandleT hGtpcStackHandle,
- NW_IN NwGtpv2cUlpApiT *pUlpReq)
-{
- NwRcT rc;
- NwGtpv2cStackT* thiz = (NwGtpv2cStackT*) hGtpcStackHandle;
-
- NW_ASSERT(thiz);
- NW_ASSERT(pUlpReq != NULL);
-
- NW_ENTER(thiz);
-
- switch(pUlpReq->apiType & 0x00FFFFFFL) {
- case NW_GTPV2C_ULP_API_INITIAL_REQ: {
- NW_LOG(thiz, NW_LOG_LEVEL_DEBG, "Received initial request from ulp");
- rc = nwGtpv2cHandleUlpInitialReq(thiz, pUlpReq);
- }
- break;
-
- case NW_GTPV2C_ULP_API_TRIGGERED_REQ: {
- NW_LOG(thiz, NW_LOG_LEVEL_DEBG, "Received triggered request from ulp");
- rc = nwGtpv2cHandleUlpTriggeredReq(thiz, pUlpReq);
- }
- break;
-
- case NW_GTPV2C_ULP_API_TRIGGERED_RSP: {
- NW_LOG(thiz, NW_LOG_LEVEL_DEBG, "Received triggered response from ulp");
- rc = nwGtpv2cHandleUlpTriggeredRsp(thiz, pUlpReq);
- }
- break;
-
- case NW_GTPV2C_ULP_CREATE_LOCAL_TUNNEL: {
- NW_LOG(thiz, NW_LOG_LEVEL_DEBG, "Received create local tunnel from ulp");
- rc = nwGtpv2cHandleUlpCreateLocalTunnel(thiz, pUlpReq);
- }
- break;
-
- case NW_GTPV2C_ULP_DELETE_LOCAL_TUNNEL: {
- NW_LOG(thiz, NW_LOG_LEVEL_DEBG, "Received delete local tunnel from ulp");
- rc = nwGtpv2cHandleUlpDeleteLocalTunnel(thiz, pUlpReq);
- }
- break;
-
- default: {
- NW_LOG(thiz, NW_LOG_LEVEL_WARN, "Received unhandled API 0x%x from ULP! Ignoring.", pUlpReq->apiType);
- rc = NW_FAILURE;
- }
- break;
- }
-
- NW_LEAVE(thiz);
-
- return rc;
-}
-
-/**
- * Process Timer timeout Request from Timer ULP Manager
- */
-
-NwRcT
-nwGtpv2cProcessTimeoutOld(void* arg)
-{
- NwRcT rc;
- NwGtpv2cStackT* thiz;
- NwGtpv2cTimeoutInfoT* timeoutInfo = (NwGtpv2cTimeoutInfoT*) arg;
- NwGtpv2cTimeoutInfoT* pNextTimeoutInfo;
- struct timeval tv;
-
- NW_ASSERT(timeoutInfo != NULL);
- thiz = (NwGtpv2cStackT*) (((NwGtpv2cTimeoutInfoT*) timeoutInfo)->hStack);
-
- NW_ASSERT(thiz != NULL);
-
- NW_ENTER(thiz);
-
- if(thiz->activeTimerInfo == timeoutInfo) {
- thiz->activeTimerInfo = NULL;
- RB_REMOVE(NwGtpv2cActiveTimerList, &(thiz->activeTimerList), timeoutInfo);
- timeoutInfo->next = gpGtpv2cTimeoutInfoPool;
- gpGtpv2cTimeoutInfoPool = timeoutInfo;
-
- rc = ((timeoutInfo)->timeoutCallbackFunc) (timeoutInfo->timeoutArg);
-
- } else {
- NW_LOG(thiz, NW_LOG_LEVEL_WARN,
- "Received timeout event from ULP for non-existent timeoutInfo 0x%p and activeTimer 0x%p!",
- timeoutInfo, thiz->activeTimerInfo);
- return NW_OK;
- }
-
-
- NW_ASSERT(gettimeofday(&tv, NULL) == 0);
-
- for ((timeoutInfo) = RB_MIN(NwGtpv2cActiveTimerList, &(thiz->activeTimerList));
- (timeoutInfo) != NULL; )
-
- {
- if(NW_GTPV2C_TIMER_CMP_P(&timeoutInfo->tvTimeout, &tv, >))
- break;
-
- pNextTimeoutInfo = RB_NEXT(NwGtpv2cActiveTimerList, &(thiz->activeTimerList), timeoutInfo);
- RB_REMOVE(NwGtpv2cActiveTimerList, &(thiz->activeTimerList), timeoutInfo);
- timeoutInfo->next = gpGtpv2cTimeoutInfoPool;
- gpGtpv2cTimeoutInfoPool = timeoutInfo;
-
- rc = ((timeoutInfo)->timeoutCallbackFunc) (timeoutInfo->timeoutArg);
-
- timeoutInfo = pNextTimeoutInfo;
- }
-
- /* activeTimerInfo may be reset by the timeoutCallbackFunc call above */
- if(thiz->activeTimerInfo == NULL) {
- timeoutInfo = RB_MIN(NwGtpv2cActiveTimerList, &(thiz->activeTimerList));
-
- if(timeoutInfo) {
- NW_GTPV2C_TIMER_SUB(&timeoutInfo->tvTimeout, &tv, &tv);
- rc = thiz->tmrMgr.tmrStartCallback(thiz->tmrMgr.tmrMgrHandle, tv.tv_sec, tv.tv_usec, timeoutInfo->tmrType, (void*)timeoutInfo, &timeoutInfo->hTimer);
- NW_ASSERT(NW_OK == rc);
-
- thiz->activeTimerInfo = timeoutInfo;
- }
- }
-
- NW_LEAVE(thiz);
-
- return rc;
-}
-
-NwRcT
-nwGtpv2cProcessTimeout(void* arg)
-{
- NwRcT rc;
- NwGtpv2cStackT* thiz;
- NwGtpv2cTimeoutInfoT* timeoutInfo = (NwGtpv2cTimeoutInfoT*) arg;
- struct timeval tv;
-
- NW_ASSERT(timeoutInfo != NULL);
-
- thiz = (NwGtpv2cStackT*) (timeoutInfo->hStack);
-
- NW_ASSERT(thiz != NULL);
- NW_ENTER(thiz);
-
- if(thiz->activeTimerInfo == timeoutInfo) {
- thiz->activeTimerInfo = NULL;
- rc = nwGtpv2cTmrMinHeapRemove(thiz->hTmrMinHeap, timeoutInfo->timerMinHeapIndex);
- timeoutInfo->next = gpGtpv2cTimeoutInfoPool;
- gpGtpv2cTimeoutInfoPool = timeoutInfo;
-
- rc = ((timeoutInfo)->timeoutCallbackFunc) (timeoutInfo->timeoutArg);
- } else {
- NW_LOG(thiz, NW_LOG_LEVEL_WARN, "Received timeout event from ULP for "
- "non-existent timeoutInfo 0x%p and activeTimer 0x%p!",
- timeoutInfo, thiz->activeTimerInfo);
-
- NW_LEAVE(thiz);
-
- return NW_OK;
- }
-
- NW_ASSERT(gettimeofday(&tv, NULL) == 0);
-
- //printf("------ Start -------\n");
- timeoutInfo = nwGtpv2cTmrMinHeapPeek(thiz->hTmrMinHeap);
-
- while((timeoutInfo) != NULL) {
- if(NW_GTPV2C_TIMER_CMP_P(&timeoutInfo->tvTimeout, &tv, >))
- break;
-
- rc = nwGtpv2cTmrMinHeapRemove(thiz->hTmrMinHeap, timeoutInfo->timerMinHeapIndex);
- timeoutInfo->next = gpGtpv2cTimeoutInfoPool;
- gpGtpv2cTimeoutInfoPool = timeoutInfo;
-
- rc = ((timeoutInfo)->timeoutCallbackFunc) (timeoutInfo->timeoutArg);
-
- timeoutInfo = nwGtpv2cTmrMinHeapPeek(thiz->hTmrMinHeap);
- //printf("-- %p --\n", timeoutInfo);
- }
-
- //printf("------ End -------\n");
-
- /* activeTimerInfo may be reset by the timeoutCallbackFunc call above */
- if(thiz->activeTimerInfo == NULL) {
- timeoutInfo = nwGtpv2cTmrMinHeapPeek(thiz->hTmrMinHeap);
-
- if(timeoutInfo) {
- NW_GTPV2C_TIMER_SUB(&timeoutInfo->tvTimeout, &tv, &tv);
- rc = thiz->tmrMgr.tmrStartCallback(thiz->tmrMgr.tmrMgrHandle, tv.tv_sec, tv.tv_usec, timeoutInfo->tmrType, (void*)timeoutInfo, &timeoutInfo->hTimer);
- NW_ASSERT(NW_OK == rc);
-
- thiz->activeTimerInfo = timeoutInfo;
- }
- }
-
- NW_LEAVE(thiz);
-
- return rc;
-}
-
-/**
- * Start Timer with ULP Timer Manager
- */
-
-
-
-
-
-NwRcT
-nwGtpv2cStartTimer(NwGtpv2cStackT* thiz,
- uint32_t timeoutSec,
- uint32_t timeoutUsec,
- uint32_t tmrType,
- NwRcT (*timeoutCallbackFunc)(void*),
- void* timeoutCallbackArg,
- NwGtpv2cTimerHandleT *phTimer)
-{
- NwRcT rc = NW_OK;
- struct timeval tv;
- NwGtpv2cTimeoutInfoT *timeoutInfo;
- NwGtpv2cTimeoutInfoT *collision;
-
- NW_ENTER(thiz);
-
- if(gpGtpv2cTimeoutInfoPool) {
- timeoutInfo = gpGtpv2cTimeoutInfoPool;
- gpGtpv2cTimeoutInfoPool = gpGtpv2cTimeoutInfoPool->next;
- } else {
- NW_GTPV2C_MALLOC(thiz, sizeof(NwGtpv2cTimeoutInfoT), timeoutInfo, NwGtpv2cTimeoutInfoT*);
- }
-
- if(timeoutInfo) {
- timeoutInfo->tmrType = tmrType;
- timeoutInfo->timeoutArg = timeoutCallbackArg;
- timeoutInfo->timeoutCallbackFunc = timeoutCallbackFunc;
- timeoutInfo->hStack = (NwGtpv2cStackHandleT)thiz;
-
- NW_ASSERT(gettimeofday(&tv, NULL) == 0);
- NW_ASSERT(gettimeofday(&timeoutInfo->tvTimeout, NULL) == 0);
-
- timeoutInfo->tvTimeout.tv_sec = timeoutSec;
- timeoutInfo->tvTimeout.tv_usec = timeoutUsec;
- NW_GTPV2C_TIMER_ADD(&tv, &timeoutInfo->tvTimeout, &timeoutInfo->tvTimeout);
-
- rc = nwGtpv2cTmrMinHeapInsert(thiz->hTmrMinHeap, timeoutInfo);
-#if 0
-
- do {
- collision = RB_INSERT(NwGtpv2cActiveTimerList, &(thiz->activeTimerList), timeoutInfo);
-
- if(!collision)
- break;
-
- NW_LOG(thiz, NW_LOG_LEVEL_WARN, "timer collision!");
- timeoutInfo->tvTimeout.tv_usec++; /* HACK: In case there is a collision, schedule this event 1 usec later */
-
- if(timeoutInfo->tvTimeout.tv_usec > (999999 /*1000000 - 1*/)) {
- timeoutInfo->tvTimeout.tv_usec = 0;
- timeoutInfo->tvTimeout.tv_sec++;
- }
- } while (1);
-
-#endif
-
- if(thiz->activeTimerInfo) {
- if(NW_GTPV2C_TIMER_CMP_P(&(thiz->activeTimerInfo->tvTimeout), &(timeoutInfo->tvTimeout), >)) {
- NW_LOG(thiz, NW_LOG_LEVEL_DEBG, "Stopping active timer 0x%"PRIxPTR" for info 0x%p!",
- thiz->activeTimerInfo->hTimer, thiz->activeTimerInfo);
- rc = thiz->tmrMgr.tmrStopCallback(thiz->tmrMgr.tmrMgrHandle, thiz->activeTimerInfo->hTimer);
- NW_ASSERT(NW_OK == rc);
- } else {
- NW_LOG(thiz, NW_LOG_LEVEL_DEBG, "Already Started timer 0x%"PRIxPTR" for info 0x%p!",
- thiz->activeTimerInfo->hTimer, thiz->activeTimerInfo);
- *phTimer = (NwGtpv2cTimerHandleT) timeoutInfo;
- NW_LEAVE(thiz);
- return NW_OK;
- }
- }
-
- rc = thiz->tmrMgr.tmrStartCallback(thiz->tmrMgr.tmrMgrHandle,
- timeoutSec,
- timeoutUsec,
- tmrType,
- (void*)timeoutInfo,
- &timeoutInfo->hTimer);
- NW_LOG(thiz, NW_LOG_LEVEL_DEBG, "Started timer 0x%"PRIxPTR" for info 0x%p!",
- timeoutInfo->hTimer, timeoutInfo);
- NW_ASSERT(NW_OK == rc);
- thiz->activeTimerInfo = timeoutInfo;
-
- }
-
- *phTimer = (NwGtpv2cTimerHandleT) timeoutInfo;
- NW_LEAVE(thiz);
-
- return rc;
-}
-
-NwRcT
-nwGtpv2cStartTimerOld(NwGtpv2cStackT* thiz,
- uint32_t timeoutSec,
- uint32_t timeoutUsec,
- uint32_t tmrType,
- NwRcT (*timeoutCallbackFunc)(void*),
- void* timeoutCallbackArg,
- NwGtpv2cTimerHandleT *phTimer)
-{
- NwRcT rc = NW_OK;
- struct timeval tv;
- NwGtpv2cTimeoutInfoT *timeoutInfo;
- NwGtpv2cTimeoutInfoT *collision;
-
- NW_ASSERT(thiz != NULL);
-
- NW_ENTER(thiz);
-
- if(gpGtpv2cTimeoutInfoPool) {
- timeoutInfo = gpGtpv2cTimeoutInfoPool;
- gpGtpv2cTimeoutInfoPool = gpGtpv2cTimeoutInfoPool->next;
- } else {
- NW_GTPV2C_MALLOC(thiz, sizeof(NwGtpv2cTimeoutInfoT), timeoutInfo, NwGtpv2cTimeoutInfoT*);
- }
-
- if(timeoutInfo) {
- timeoutInfo->tmrType = tmrType;
- timeoutInfo->timeoutArg = timeoutCallbackArg;
- timeoutInfo->timeoutCallbackFunc = timeoutCallbackFunc;
- timeoutInfo->hStack = (NwGtpv2cStackHandleT)thiz;
-
- NW_ASSERT(gettimeofday(&tv, NULL) == 0);
- NW_ASSERT(gettimeofday(&timeoutInfo->tvTimeout, NULL) == 0);
-
- timeoutInfo->tvTimeout.tv_sec = timeoutSec;
- timeoutInfo->tvTimeout.tv_usec = timeoutUsec;
- NW_GTPV2C_TIMER_ADD(&tv, &timeoutInfo->tvTimeout, &timeoutInfo->tvTimeout);
-
- do {
- collision = RB_INSERT(NwGtpv2cActiveTimerList, &(thiz->activeTimerList), timeoutInfo);
-
- if(!collision)
- break;
-
- NW_LOG(thiz, NW_LOG_LEVEL_WARN, "timer collision!");
- timeoutInfo->tvTimeout.tv_usec++; /* HACK: In case there is a collision, schedule this event 1 usec later */
-
- if(timeoutInfo->tvTimeout.tv_usec > (999999 /*1000000 - 1*/)) {
- timeoutInfo->tvTimeout.tv_usec = 0;
- timeoutInfo->tvTimeout.tv_sec++;
- }
- } while (1);
-
- if(thiz->activeTimerInfo) {
- if(NW_GTPV2C_TIMER_CMP_P(&(thiz->activeTimerInfo->tvTimeout), &(timeoutInfo->tvTimeout), >)) {
- NW_LOG(thiz, NW_LOG_LEVEL_DEBG, "Stopping active timer 0x%"PRIxPTR" for info 0x%p!",
- thiz->activeTimerInfo->hTimer, thiz->activeTimerInfo);
- rc = thiz->tmrMgr.tmrStopCallback(thiz->tmrMgr.tmrMgrHandle, thiz->activeTimerInfo->hTimer);
- NW_ASSERT(NW_OK == rc);
- } else {
- NW_LOG(thiz, NW_LOG_LEVEL_DEBG, "Already Started timer 0x%"PRIxPTR" for info 0x%p!",
- thiz->activeTimerInfo->hTimer, thiz->activeTimerInfo);
- *phTimer = (NwGtpv2cTimerHandleT) timeoutInfo;
- NW_LEAVE(thiz);
- return NW_OK;
- }
- }
-
- rc = thiz->tmrMgr.tmrStartCallback(thiz->tmrMgr.tmrMgrHandle, timeoutSec, timeoutUsec, tmrType, (void*)timeoutInfo, &timeoutInfo->hTimer);
- NW_LOG(thiz, NW_LOG_LEVEL_DEBG, "Started timer 0x%"PRIxPTR" for info 0x%p!",
- timeoutInfo->hTimer, timeoutInfo);
- NW_ASSERT(NW_OK == rc);
- thiz->activeTimerInfo = timeoutInfo;
-
- }
-
- *phTimer = (NwGtpv2cTimerHandleT) timeoutInfo;
- NW_LEAVE(thiz);
-
- return rc;
-}
-
-/**
- * Stop Timer with ULP Timer Manager
- */
-NwRcT
-nwGtpv2cStopTimer(NwGtpv2cStackT* thiz,
- NwGtpv2cTimerHandleT hTimer)
-{
- NwRcT rc = NW_OK;
- struct timeval tv;
- NwGtpv2cTimeoutInfoT *timeoutInfo;
-
- NW_ASSERT(thiz != NULL);
-
- NW_ENTER(thiz);
-
- timeoutInfo = (NwGtpv2cTimeoutInfoT*) hTimer;
-
- rc = nwGtpv2cTmrMinHeapRemove(thiz->hTmrMinHeap, timeoutInfo->timerMinHeapIndex);
- timeoutInfo->next = gpGtpv2cTimeoutInfoPool;
- gpGtpv2cTimeoutInfoPool = timeoutInfo;
-
- NW_LOG(thiz, NW_LOG_LEVEL_DEBG, "Stopping active timer 0x%"PRIxPTR" for info 0x%p!",
- timeoutInfo->hTimer, timeoutInfo);
-
- if(thiz->activeTimerInfo == timeoutInfo) {
- NW_LOG(thiz, NW_LOG_LEVEL_DEBG, "Stopping active timer 0x%"PRIxPTR" for info 0x%p!",
- timeoutInfo->hTimer, timeoutInfo);
- rc = thiz->tmrMgr.tmrStopCallback(thiz->tmrMgr.tmrMgrHandle, timeoutInfo->hTimer);
- thiz->activeTimerInfo = NULL;
- NW_ASSERT(NW_OK == rc);
-
- timeoutInfo = nwGtpv2cTmrMinHeapPeek(thiz->hTmrMinHeap);
-
- if(timeoutInfo) {
- NW_ASSERT(gettimeofday(&tv, NULL) == 0);
-
- if(NW_GTPV2C_TIMER_CMP_P(&timeoutInfo->tvTimeout, &tv, <)) {
- thiz->activeTimerInfo = timeoutInfo;
- rc = nwGtpv2cProcessTimeout(timeoutInfo);
- NW_ASSERT(NW_OK == rc);
- } else {
- NW_GTPV2C_TIMER_SUB(&timeoutInfo->tvTimeout, &tv, &tv);
- rc = thiz->tmrMgr.tmrStartCallback(thiz->tmrMgr.tmrMgrHandle, tv.tv_sec, tv.tv_usec, timeoutInfo->tmrType, (void*)timeoutInfo, &timeoutInfo->hTimer);
- NW_ASSERT(NW_OK == rc);
-
- NW_LOG(thiz, NW_LOG_LEVEL_DEBG, "Started timer 0x%"PRIxPTR" for info 0x%p!",
- timeoutInfo->hTimer, timeoutInfo);
- thiz->activeTimerInfo = timeoutInfo;
- }
- }
- }
-
- NW_LEAVE(thiz);
-
- return rc;
-}
-
-NwRcT
-nwGtpv2cStopTimerOld(NwGtpv2cStackT* thiz,
- NwGtpv2cTimerHandleT hTimer)
-{
- NwRcT rc = NW_OK;
- struct timeval tv;
- NwGtpv2cTimeoutInfoT *timeoutInfo;
-
- NW_ASSERT(thiz != NULL);
-
- NW_ENTER(thiz);
-
- timeoutInfo = (NwGtpv2cTimeoutInfoT*) hTimer;
-
- RB_REMOVE(NwGtpv2cActiveTimerList, &(thiz->activeTimerList), timeoutInfo);
- timeoutInfo->next = gpGtpv2cTimeoutInfoPool;
- gpGtpv2cTimeoutInfoPool = timeoutInfo;
-
- NW_LOG(thiz, NW_LOG_LEVEL_DEBG, "Stopping active timer 0x%"PRIxPTR" for info 0x%p!",
- timeoutInfo->hTimer, timeoutInfo);
-
- if(thiz->activeTimerInfo == timeoutInfo) {
- NW_LOG(thiz, NW_LOG_LEVEL_DEBG, "Stopping active timer 0x%"PRIxPTR" for info 0x%p!",
- timeoutInfo->hTimer, timeoutInfo);
- rc = thiz->tmrMgr.tmrStopCallback(thiz->tmrMgr.tmrMgrHandle, timeoutInfo->hTimer);
- thiz->activeTimerInfo = NULL;
- NW_ASSERT(NW_OK == rc);
-
- timeoutInfo = RB_MIN(NwGtpv2cActiveTimerList, &(thiz->activeTimerList));
-
- if(timeoutInfo) {
- NW_ASSERT(gettimeofday(&tv, NULL) == 0);
-
- if(NW_GTPV2C_TIMER_CMP_P(&timeoutInfo->tvTimeout, &tv, <)) {
- thiz->activeTimerInfo = timeoutInfo;
- rc = nwGtpv2cProcessTimeout(timeoutInfo);
- NW_ASSERT(NW_OK == rc);
- } else {
- NW_GTPV2C_TIMER_SUB(&timeoutInfo->tvTimeout, &tv, &tv);
- rc = thiz->tmrMgr.tmrStartCallback(thiz->tmrMgr.tmrMgrHandle, tv.tv_sec, tv.tv_usec, timeoutInfo->tmrType, (void*)timeoutInfo, &timeoutInfo->hTimer);
- NW_ASSERT(NW_OK == rc);
-
- NW_LOG(thiz, NW_LOG_LEVEL_DEBG, "Started timer 0x%"PRIxPTR" for info 0x%p!",
- timeoutInfo->hTimer, timeoutInfo);
- thiz->activeTimerInfo = timeoutInfo;
- }
- }
- }
-
- NW_LEAVE(thiz);
-
- return rc;
-}
-
-#ifdef __cplusplus
-}
-#endif
-
-/*--------------------------------------------------------------------------*
- * E N D O F F I L E *
- *--------------------------------------------------------------------------*/
-
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/src/NwGtpv2cMsg.c b/openair-cn/GTPV2-C/nwgtpv2c-0.11/src/NwGtpv2cMsg.c
deleted file mode 100644
index e566a08594..0000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/src/NwGtpv2cMsg.c
+++ /dev/null
@@ -1,750 +0,0 @@
-/*----------------------------------------------------------------------------*
- * *
- * n w - g t p v 2 c *
- * G P R S T u n n e l i n g P r o t o c o l v 2 c S t a c k *
- * *
- * *
- * Copyright (c) 2010-2011 Amit Chawre *
- * All rights reserved. *
- * *
- * Redistribution and use in source and binary forms, with or without *
- * modification, are permitted provided that the following conditions *
- * are met: *
- * *
- * 1. Redistributions of source code must retain the above copyright *
- * notice, this list of conditions and the following disclaimer. *
- * 2. Redistributions in binary form must reproduce the above copyright *
- * notice, this list of conditions and the following disclaimer in the *
- * documentation and/or other materials provided with the distribution. *
- * 3. The name of the author may not be used to endorse or promote products *
- * derived from this software without specific prior written permission. *
- * *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR *
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES *
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. *
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, *
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT *
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, *
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY *
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF *
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *
- *----------------------------------------------------------------------------*/
-
-#include
-#include
-#include
-#include
-
-#include "NwTypes.h"
-#include "NwLog.h"
-#include "NwUtils.h"
-#include "NwGtpv2cLog.h"
-#include "NwGtpv2c.h"
-#include "NwGtpv2cPrivate.h"
-#include "NwGtpv2cIe.h"
-#include "NwGtpv2cMsg.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-/*----------------------------------------------------------------------------*
- * P R I V A T E F U N C T I O N S *
- *----------------------------------------------------------------------------*/
-
-static NwGtpv2cMsgT* gpGtpv2cMsgPool = NULL;
-
-/*----------------------------------------------------------------------------*
- * P U B L I C F U N C T I O N S *
- *----------------------------------------------------------------------------*/
-
-NwRcT
-nwGtpv2cMsgNew( NW_IN NwGtpv2cStackHandleT hGtpcStackHandle,
- NW_IN uint8_t teidPresent,
- NW_IN uint8_t msgType,
- NW_IN uint32_t teid,
- NW_IN uint32_t seqNum,
- NW_OUT NwGtpv2cMsgHandleT *phMsg)
-{
- NwGtpv2cStackT* pStack = (NwGtpv2cStackT*) hGtpcStackHandle;
- NwGtpv2cMsgT *pMsg;
-
- NW_ASSERT(pStack);
-
- if(gpGtpv2cMsgPool) {
- pMsg = gpGtpv2cMsgPool;
- gpGtpv2cMsgPool = gpGtpv2cMsgPool->next;
- } else {
- NW_GTPV2C_MALLOC(pStack, sizeof(NwGtpv2cMsgT), pMsg, NwGtpv2cMsgT*);
- }
-
- if(pMsg) {
- pMsg->version = NW_GTP_VERSION;
- pMsg->teidPresent = teidPresent;
- pMsg->msgType = msgType;
- pMsg->teid = teid;
- pMsg->seqNum = seqNum;
- pMsg->msgLen = (NW_GTPV2C_EPC_SPECIFIC_HEADER_SIZE - (teidPresent ? 0 : 4));
-
- pMsg->groupedIeEncodeStack.top = 0;
- pMsg->hStack = hGtpcStackHandle;
-
- *phMsg = (NwGtpv2cMsgHandleT) pMsg;
- NW_LOG(pStack, NW_LOG_LEVEL_DEBG, "Created message %p!", pMsg);
- return NW_OK;
- }
-
- return NW_FAILURE;
-}
-
-NwRcT
-nwGtpv2cMsgFromBufferNew( NW_IN NwGtpv2cStackHandleT hGtpcStackHandle,
- NW_IN uint8_t* pBuf,
- NW_IN uint32_t bufLen,
- NW_OUT NwGtpv2cMsgHandleT *phMsg)
-{
- NwGtpv2cStackT* pStack = (NwGtpv2cStackT*) hGtpcStackHandle;
- NwGtpv2cMsgT *pMsg;
-
- NW_ASSERT(pStack);
-
- if(gpGtpv2cMsgPool) {
- pMsg = gpGtpv2cMsgPool;
- gpGtpv2cMsgPool = gpGtpv2cMsgPool->next;
- } else {
- NW_GTPV2C_MALLOC(pStack, sizeof(NwGtpv2cMsgT), pMsg, NwGtpv2cMsgT*);
- }
-
- if(pMsg) {
- *phMsg = (NwGtpv2cMsgHandleT) pMsg;
- memcpy(pMsg->msgBuf, pBuf, bufLen);
- pMsg->msgLen = bufLen;
-
- pMsg->version = ((*pBuf) & 0xE0) >> 5;
- pMsg->teidPresent = ((*pBuf) & 0x08) >> 3;
- pBuf++;
-
- pMsg->msgType = *(pBuf);
- pBuf += 3;
-
- if(pMsg->teidPresent) {
- pMsg->teid = ntohl(*((uint32_t*)(pBuf)));
- pBuf += 4;
- }
-
- memcpy(((uint8_t*)&pMsg->seqNum) + 1, pBuf, 3);
- pMsg->seqNum = ntohl(pMsg->seqNum);
-
- pMsg->hStack = hGtpcStackHandle;
- NW_LOG(pStack, NW_LOG_LEVEL_DEBG, "Created message %p!", pMsg);
- return NW_OK;
- }
-
- return NW_FAILURE;
-}
-
-NwRcT
-nwGtpv2cMsgDelete( NW_IN NwGtpv2cStackHandleT hGtpcStackHandle,
- NW_IN NwGtpv2cMsgHandleT hMsg)
-{
- NwGtpv2cStackT* pStack = (NwGtpv2cStackT*) hGtpcStackHandle;
- NW_LOG(pStack, NW_LOG_LEVEL_DEBG, "Purging message %"PRIxPTR"!", hMsg);
-
- ((NwGtpv2cMsgT*)hMsg)->next = gpGtpv2cMsgPool;
- gpGtpv2cMsgPool = (NwGtpv2cMsgT*) hMsg;
-
- return NW_OK;
-}
-
-/**
- * Set TEID for gtpv2c message.
- *
- * @param[in] hMsg : Message handle.
- * @param[in] teid: TEID value.
- */
-
-NwRcT
-nwGtpv2cMsgSetTeid(NW_IN NwGtpv2cMsgHandleT hMsg, uint32_t teid)
-{
- NwGtpv2cMsgT *thiz = (NwGtpv2cMsgT*) hMsg;
- thiz->teid = teid;
- return NW_OK;
-}
-
-/**
- * Set TEID present flag for gtpv2c message.
- *
- * @param[in] hMsg : Message handle.
- * @param[in] teidPesent: Flag boolean value.
- */
-
-NwRcT
-nwGtpv2cMsgSetTeidPresent(NW_IN NwGtpv2cMsgHandleT hMsg, NwBoolT teidPresent)
-{
- NwGtpv2cMsgT *thiz = (NwGtpv2cMsgT*) hMsg;
- thiz->teidPresent = teidPresent;
- return NW_OK;
-}
-
-/**
- * Set sequence for gtpv2c message.
- *
- * @param[in] hMsg : Message handle.
- * @param[in] seqNum: Flag boolean value.
- */
-
-NwRcT
-nwGtpv2cMsgSetSeqNumber(NW_IN NwGtpv2cMsgHandleT hMsg, uint32_t seqNum)
-{
- NwGtpv2cMsgT *thiz = (NwGtpv2cMsgT*) hMsg;
- thiz->seqNum = seqNum;
- return NW_OK;
-}
-
-/**
- * Get TEID present for gtpv2c message.
- *
- * @param[in] hMsg : Message handle.
- */
-
-uint32_t
-nwGtpv2cMsgGetTeid(NW_IN NwGtpv2cMsgHandleT hMsg)
-{
- NwGtpv2cMsgT *thiz = (NwGtpv2cMsgT*) hMsg;
- return (thiz->teid);
-}
-
-/**
- * Get TEID present for gtpv2c message.
- *
- * @param[in] hMsg : Message handle.
- */
-
-NwBoolT
-nwGtpv2cMsgGetTeidPresent(NW_IN NwGtpv2cMsgHandleT hMsg)
-{
- NwGtpv2cMsgT *thiz = (NwGtpv2cMsgT*) hMsg;
- return (thiz->teidPresent);
-}
-
-/**
- * Get sequence number for gtpv2c message.
- *
- * @param[in] hMsg : Message handle.
- */
-
-uint32_t
-nwGtpv2cMsgGetSeqNumber(NW_IN NwGtpv2cMsgHandleT hMsg)
-{
- NwGtpv2cMsgT *thiz = (NwGtpv2cMsgT*) hMsg;
- return (thiz->seqNum);
-}
-
-/**
- * Get msg type for gtpv2c message.
- *
- * @param[in] hMsg : Message handle.
- */
-
-uint32_t
-nwGtpv2cMsgGetMsgType(NW_IN NwGtpv2cMsgHandleT hMsg)
-{
- NwGtpv2cMsgT *thiz = (NwGtpv2cMsgT*) hMsg;
- return (thiz->msgType);
-}
-
-/**
- * Get msg type for gtpv2c message.
- *
- * @param[in] hMsg : Message handle.
- */
-
-uint32_t
-nwGtpv2cMsgGetLength(NW_IN NwGtpv2cMsgHandleT hMsg)
-{
- NwGtpv2cMsgT *thiz = (NwGtpv2cMsgT*) hMsg;
- return (thiz->msgLen);
-}
-
-
-NwRcT
-nwGtpv2cMsgAddIeTV1(NW_IN NwGtpv2cMsgHandleT hMsg,
- NW_IN uint8_t type,
- NW_IN uint8_t instance,
- NW_IN uint8_t value)
-{
- NwGtpv2cMsgT *pMsg = (NwGtpv2cMsgT*) hMsg;
- NwGtpv2cIeTv1T *pIe;
-
- pIe = (NwGtpv2cIeTv1T*) (pMsg->msgBuf + pMsg->msgLen);
-
- pIe->t = type;
- pIe->l = htons(0x0001);
- pIe->i = instance & 0x00ff;
- pIe->v = value;
-
- pMsg->msgLen += sizeof(NwGtpv2cIeTv1T);
-
- return NW_OK;
-}
-
-NwRcT
-nwGtpv2cMsgAddIeTV2(NW_IN NwGtpv2cMsgHandleT hMsg,
- NW_IN uint8_t type,
- NW_IN uint8_t instance,
- NW_IN uint16_t value)
-{
- NwGtpv2cMsgT *pMsg = (NwGtpv2cMsgT*) hMsg;
- NwGtpv2cIeTv2T *pIe;
-
- pIe = (NwGtpv2cIeTv2T*) (pMsg->msgBuf + pMsg->msgLen);
-
- pIe->t = type;
- pIe->l = htons(0x0002);
- pIe->i = instance & 0x00ff;
- pIe->v = htons(value);
-
- pMsg->msgLen += sizeof(NwGtpv2cIeTv2T);
-
- return NW_OK;
-}
-
-NwRcT
-nwGtpv2cMsgAddIeTV4(NW_IN NwGtpv2cMsgHandleT hMsg,
- NW_IN uint8_t type,
- NW_IN uint8_t instance,
- NW_IN uint32_t value)
-{
- NwGtpv2cMsgT *pMsg = (NwGtpv2cMsgT*) hMsg;
- NwGtpv2cIeTv4T *pIe;
-
- pIe = (NwGtpv2cIeTv4T*) (pMsg->msgBuf + pMsg->msgLen);
-
- pIe->t = type;
- pIe->l = htons(0x0004);
- pIe->i = instance & 0x00ff;
- pIe->v = htonl(value);
-
- pMsg->msgLen += sizeof(NwGtpv2cIeTv4T);
-
- return NW_OK;
-}
-
-NwRcT
-nwGtpv2cMsgAddIe(NW_IN NwGtpv2cMsgHandleT hMsg,
- NW_IN uint8_t type,
- NW_IN uint16_t length,
- NW_IN uint8_t instance,
- NW_IN uint8_t* pVal)
-{
- NwGtpv2cMsgT *pMsg = (NwGtpv2cMsgT*) hMsg;
- NwGtpv2cIeTlvT *pIe;
-
- pIe = (NwGtpv2cIeTlvT*) (pMsg->msgBuf + pMsg->msgLen);
-
- pIe->t = type;
- pIe->l = htons(length);
- pIe->i = instance & 0x00ff;
-
- memcpy(((uint8_t*)pIe) + 4, pVal, length);
- pMsg->msgLen += (4 + length);
-
- return NW_OK;
-}
-
-NwRcT
-nwGtpv2cMsgGroupedIeStart(NW_IN NwGtpv2cMsgHandleT hMsg,
- NW_IN uint8_t type,
- NW_IN uint8_t instance)
-{
- NwGtpv2cMsgT *pMsg = (NwGtpv2cMsgT*) hMsg;
- NwGtpv2cIeTlvT *pIe;
-
- pIe = (NwGtpv2cIeTlvT*) (pMsg->msgBuf + pMsg->msgLen);
-
- pIe->t = type;
- pIe->i = instance & 0x00ff;
- pMsg->msgLen += (4);
- pIe->l = (pMsg->msgLen);
-
- NW_ASSERT(pMsg->groupedIeEncodeStack.top < NW_GTPV2C_MAX_GROUPED_IE_DEPTH);
-
- pMsg->groupedIeEncodeStack.pIe[pMsg->groupedIeEncodeStack.top] = pIe;
- pMsg->groupedIeEncodeStack.top++;
-
- return NW_OK;
-}
-
-NwRcT
-nwGtpv2cMsgGroupedIeEnd(NW_IN NwGtpv2cMsgHandleT hMsg)
-{
- NwGtpv2cMsgT *pMsg = (NwGtpv2cMsgT*) hMsg;
- NwGtpv2cIeTlvT *pIe;
-
- NW_ASSERT(pMsg->groupedIeEncodeStack.top > 0);
-
- pMsg->groupedIeEncodeStack.top--;
- pIe = pMsg->groupedIeEncodeStack.pIe[pMsg->groupedIeEncodeStack.top];
-
- pIe->l = htons(pMsg->msgLen - pIe->l);
-
- return NW_OK;
-}
-
-NwRcT
-nwGtpv2cMsgAddIeCause(NW_IN NwGtpv2cMsgHandleT hMsg,
- NW_IN uint8_t instance,
- NW_IN uint8_t causeValue,
- NW_IN uint8_t bitFlags,
- NW_IN uint8_t offendingIeType,
- NW_IN uint8_t offendingIeInstance)
-{
- uint8_t causeBuf[8];
-
- causeBuf[0] = causeValue;
- causeBuf[1] = bitFlags;
-
- if(offendingIeType) {
- causeBuf[2] = offendingIeType;
- causeBuf[3] = 0;
- causeBuf[4] = 0;
- causeBuf[5] = (offendingIeInstance & 0x0f);
- }
-
- return (nwGtpv2cMsgAddIe(hMsg, NW_GTPV2C_IE_CAUSE, (offendingIeType? 6 : 2), instance, causeBuf));
-}
-
-NwRcT
-nwGtpv2cMsgAddIeFteid(NW_IN NwGtpv2cMsgHandleT hMsg,
- NW_IN uint8_t instance,
- NW_IN uint8_t ifType,
- NW_IN uint32_t teidOrGreKey,
- NW_IN uint32_t ipv4Addr,
- NW_IN uint8_t* pIpv6Addr)
-{
-
- uint8_t fteidBuf[32];
- uint8_t *pFteidBuf = fteidBuf;
-
- fteidBuf[0] = (ifType & 0x1F);
- pFteidBuf++;
-
- *((uint32_t*)(pFteidBuf)) = htonl((teidOrGreKey));
- pFteidBuf += 4;
-
- if(ipv4Addr) {
- fteidBuf[0] |= (0x01 << 7);
- *((uint32_t*)(pFteidBuf)) = htonl(ipv4Addr);
- pFteidBuf += 4;
- }
-
- if(pIpv6Addr) {
- fteidBuf[0] |= (0x01 << 6);
- memcpy((pFteidBuf), pIpv6Addr, 16);
- pFteidBuf += 16;
- }
-
- return (nwGtpv2cMsgAddIe(hMsg, NW_GTPV2C_IE_FTEID, (pFteidBuf - fteidBuf), instance, fteidBuf));
-}
-
-
-NwBoolT
-nwGtpv2cMsgIsIePresent(NW_IN NwGtpv2cMsgHandleT hMsg,
- NW_IN uint8_t type,
- NW_IN uint8_t instance)
-{
- NwGtpv2cMsgT *thiz = (NwGtpv2cMsgT*) hMsg;
-
- if((NwGtpv2cIeTv1T*) thiz->pIe[type][instance])
- return NW_TRUE;
-
- return NW_FALSE;
-}
-
-NwRcT
-nwGtpv2cMsgGetIeTV1(NW_IN NwGtpv2cMsgHandleT hMsg,
- NW_IN uint8_t type,
- NW_IN uint8_t instance,
- NW_OUT uint8_t* pVal)
-{
- NwGtpv2cMsgT *thiz = (NwGtpv2cMsgT*) hMsg;
- NwGtpv2cIeTv1T *pIe;
- NW_ASSERT(instance <= NW_GTPV2C_IE_INSTANCE_MAXIMUM);
-
- if(thiz->isIeValid[type][instance]) {
- pIe = (NwGtpv2cIeTv1T*) thiz->pIe[type][instance];
-
- if(ntohs(pIe->l) != 0x01)
- return NW_GTPV2C_IE_INCORRECT;
-
- if(pVal) *pVal = pIe->v;
-
- return NW_OK;
- }
-
- return NW_GTPV2C_IE_MISSING;
-}
-
-NwRcT
-nwGtpv2cMsgGetIeTV2( NW_IN NwGtpv2cMsgHandleT hMsg,
- NW_IN uint8_t type,
- NW_IN uint8_t instance,
- NW_OUT uint16_t* pVal)
-{
- NwGtpv2cMsgT *thiz = (NwGtpv2cMsgT*) hMsg;
- NwGtpv2cIeTv2T *pIe;
- NW_ASSERT(instance <= NW_GTPV2C_IE_INSTANCE_MAXIMUM);
-
- if(thiz->isIeValid[type][instance]) {
- pIe = (NwGtpv2cIeTv2T*) thiz->pIe[type][instance];
-
- if(ntohs(pIe->l) != 0x02)
- return NW_GTPV2C_IE_INCORRECT;
-
- if(pVal) *pVal = ntohs(pIe->v);
-
- return NW_OK;
- }
-
- return NW_GTPV2C_IE_MISSING;
-}
-
-NwRcT
-nwGtpv2cMsgGetIeTV4( NW_IN NwGtpv2cMsgHandleT hMsg,
- NW_IN uint8_t type,
- NW_IN uint8_t instance,
- NW_OUT uint32_t* pVal)
-{
- NwGtpv2cMsgT *thiz = (NwGtpv2cMsgT*) hMsg;
- NwGtpv2cIeTv4T *pIe;
- NW_ASSERT(instance <= NW_GTPV2C_IE_INSTANCE_MAXIMUM);
-
- if(thiz->isIeValid[type][instance]) {
- pIe = (NwGtpv2cIeTv4T*) thiz->pIe[type][instance];
-
- if(ntohs(pIe->l) != 0x04)
- return NW_GTPV2C_IE_INCORRECT;
-
- if(pVal) *pVal = ntohl(pIe->v);
-
- return NW_OK;
- }
-
- return NW_GTPV2C_IE_MISSING;
-}
-
-NwRcT
-nwGtpv2cMsgGetIeTV8( NW_IN NwGtpv2cMsgHandleT hMsg,
- NW_IN uint8_t type,
- NW_IN uint8_t instance,
- NW_OUT uint64_t* pVal)
-{
- NwGtpv2cMsgT *thiz = (NwGtpv2cMsgT*) hMsg;
- NwGtpv2cIeTv8T *pIe;
- NW_ASSERT(instance <= NW_GTPV2C_IE_INSTANCE_MAXIMUM);
-
- if(thiz->isIeValid[type][instance]) {
- pIe = (NwGtpv2cIeTv8T*) thiz->pIe[type][instance];
-
- if(ntohs(pIe->l) != 0x08)
- return NW_GTPV2C_IE_INCORRECT;
-
- if(pVal) *pVal = NW_NTOHLL((pIe->v));
-
- return NW_OK;
- }
-
- NW_LOG(thiz->hStack, NW_LOG_LEVEL_ERRO, "Cannot retrieve IE of type %u instance %u !", type, instance);
- return NW_GTPV2C_IE_MISSING;
-}
-
-NwRcT
-nwGtpv2cMsgGetIeTlv( NW_IN NwGtpv2cMsgHandleT hMsg,
- NW_IN uint8_t type,
- NW_IN uint8_t instance,
- NW_IN uint16_t maxLen,
- NW_OUT uint8_t* pVal,
- NW_OUT uint16_t* pLen)
-{
- NwGtpv2cMsgT *thiz = (NwGtpv2cMsgT*) hMsg;
- NwGtpv2cIeTlvT *pIe;
- NW_ASSERT(instance <= NW_GTPV2C_IE_INSTANCE_MAXIMUM);
-
- if(thiz->isIeValid[type][instance]) {
- pIe = (NwGtpv2cIeTlvT*) thiz->pIe[type][instance];
-
- if(ntohs(pIe->l) <= maxLen) {
- if(pVal) memcpy(pVal, ((uint8_t*) pIe) + 4, ntohs(pIe->l));
-
- if(pLen) *pLen = ntohs(pIe->l);
-
- return NW_OK;
- }
- }
-
- return NW_GTPV2C_IE_MISSING;
-}
-
-NwRcT
-nwGtpv2cMsgGetIeTlvP( NW_IN NwGtpv2cMsgHandleT hMsg,
- NW_IN uint8_t type,
- NW_IN uint8_t instance,
- NW_OUT uint8_t** ppVal,
- NW_OUT uint16_t* pLen)
-{
- NwGtpv2cMsgT *thiz = (NwGtpv2cMsgT*) hMsg;
- NwGtpv2cIeTlvT *pIe;
- NW_ASSERT(instance <= NW_GTPV2C_IE_INSTANCE_MAXIMUM);
-
- if(thiz->isIeValid[type][instance]) {
- pIe = (NwGtpv2cIeTlvT*) thiz->pIe[type][instance];
-
- if(ppVal) *ppVal = ((uint8_t*) pIe) + 4;
-
- if(pLen) *pLen = ntohs(pIe->l);
-
- return NW_OK;
- }
-
- return NW_GTPV2C_IE_MISSING;
-}
-
-NwRcT
-nwGtpv2cMsgGetIeCause(NW_IN NwGtpv2cMsgHandleT hMsg,
- NW_IN uint8_t instance,
- NW_OUT uint8_t* causeValue,
- NW_OUT uint8_t* flags,
- NW_OUT uint8_t* offendingIeType,
- NW_OUT uint8_t* offendingIeInstance)
-{
- NwGtpv2cMsgT *thiz = (NwGtpv2cMsgT*) hMsg;
- NwGtpv2cIeTlvT *pIe;
-
- NW_ASSERT(instance <= NW_GTPV2C_IE_INSTANCE_MAXIMUM);
-
- if(thiz->isIeValid[NW_GTPV2C_IE_CAUSE][instance]) {
- pIe = (NwGtpv2cIeTlvT*) thiz->pIe[NW_GTPV2C_IE_CAUSE][instance];
- *causeValue = *((uint8_t*)(((uint8_t*)pIe) + 4));
- *flags = *((uint8_t*)(((uint8_t*)pIe) + 5));
-
- if(pIe->l == 6) {
- *offendingIeType = *((uint8_t*)(((uint8_t*)pIe) + 6));
- *offendingIeType = *((uint8_t*)(((uint8_t*)pIe) + 8));
- }
-
- return NW_OK;
- }
-
- return NW_GTPV2C_IE_MISSING;
-}
-
-NwRcT
-nwGtpv2cMsgGetIeFteid(NW_IN NwGtpv2cMsgHandleT hMsg,
- NW_IN uint8_t instance,
- NW_OUT uint8_t* ifType,
- NW_OUT uint32_t* teidOrGreKey,
- NW_OUT uint32_t* ipv4Addr,
- NW_OUT uint8_t* pIpv6Addr)
-{
- NwGtpv2cMsgT *thiz = (NwGtpv2cMsgT*) hMsg;
- NwGtpv2cIeTlvT *pIe;
-
- NW_ASSERT(instance <= NW_GTPV2C_IE_INSTANCE_MAXIMUM);
-
- if(thiz->isIeValid[NW_GTPV2C_IE_FTEID][instance]) {
- pIe = (NwGtpv2cIeTlvT*) thiz->pIe[NW_GTPV2C_IE_FTEID][instance];
- uint8_t flags;
- uint8_t* pIeValue = ((uint8_t*) pIe) + 4;
- flags = (*pIeValue) & 0xE0;
- *ifType = (*pIeValue) & 0x1F;
- pIeValue += 1;
-
- *teidOrGreKey = ntohl(*((uint32_t*)(pIeValue)));
- pIeValue += 4;
-
- if(flags & 0x80) {
- *ipv4Addr = ntohl(*((uint32_t*)(pIeValue)));
- pIeValue += 4;
- }
-
- return NW_OK;
- }
-
- return NW_GTPV2C_IE_MISSING;
-}
-
-NwRcT
-nwGtpv2cMsgHexDump(NwGtpv2cMsgHandleT hMsg, FILE* fp)
-{
-
- NwGtpv2cMsgT* pMsg = (NwGtpv2cMsgT*) hMsg;
- uint8_t* data = pMsg->msgBuf;
- uint32_t size = pMsg->msgLen;
-
- unsigned char *p = (unsigned char*)data;
- unsigned char c;
- int n;
- char bytestr[4] = {0};
- char addrstr[10] = {0};
- char hexstr[ 16*3 + 5] = {0};
- char charstr[16*1 + 5] = {0};
- fprintf((FILE*)fp, "\n");
-
- for(n=1; n<=size; n++) {
- if (n%16 == 1) {
- /* store address for this line */
- snprintf(addrstr, sizeof(addrstr), "%.4lx",
- ((unsigned long)p-(unsigned long)data) );
- }
-
- c = *p;
-
- if (isalnum(c) == 0) {
- c = '.';
- }
-
- /* store hex str (for left side) */
- snprintf(bytestr, sizeof(bytestr), "%02X ", *p);
- strncat(hexstr, bytestr, sizeof(hexstr)-strlen(hexstr)-1);
-
- /* store char str (for right side) */
- snprintf(bytestr, sizeof(bytestr), "%c", c);
- strncat(charstr, bytestr, sizeof(charstr)-strlen(charstr)-1);
-
- if(n%16 == 0) {
- /* line completed */
- fprintf((FILE*)fp, "[%4.4s] %-50.50s %s\n", addrstr, hexstr, charstr);
- hexstr[0] = 0;
- charstr[0] = 0;
- } else if(n%8 == 0) {
- /* half line: add whitespaces */
- strncat(hexstr, " ", sizeof(hexstr)-strlen(hexstr)-1);
- strncat(charstr, " ", sizeof(charstr)-strlen(charstr)-1);
- }
-
- p++; /* next byte */
- }
-
- if (strlen(hexstr) > 0) {
- /* print rest of buffer if not empty */
- fprintf((FILE*)fp, "[%4.4s] %-50.50s %s\n", addrstr, hexstr, charstr);
-
- }
-
- fprintf((FILE*)fp, "\n");
-
- return NW_OK;
-}
-
-#ifdef __cplusplus
-}
-#endif
-
-
-
-/*--------------------------------------------------------------------------*
- * E N D O F F I L E *
- *--------------------------------------------------------------------------*/
-
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/src/NwGtpv2cMsgIeParseInfo.c b/openair-cn/GTPV2-C/nwgtpv2c-0.11/src/NwGtpv2cMsgIeParseInfo.c
deleted file mode 100644
index 22607df8aa..0000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/src/NwGtpv2cMsgIeParseInfo.c
+++ /dev/null
@@ -1,703 +0,0 @@
-/*----------------------------------------------------------------------------*
- * *
- * n w - g t p v 2 c *
- * G P R S T u n n e l i n g P r o t o c o l v 2 c S t a c k *
- * *
- * *
- * Copyright (c) 2010-2011 Amit Chawre *
- * All rights reserved. *
- * *
- * Redistribution and use in source and binary forms, with or without *
- * modification, are permitted provided that the following conditions *
- * are met: *
- * *
- * 1. Redistributions of source code must retain the above copyright *
- * notice, this list of conditions and the following disclaimer. *
- * 2. Redistributions in binary form must reproduce the above copyright *
- * notice, this list of conditions and the following disclaimer in the *
- * documentation and/or other materials provided with the distribution. *
- * 3. The name of the author may not be used to endorse or promote products *
- * derived from this software without specific prior written permission. *
- * *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR *
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES *
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. *
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, *
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT *
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, *
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY *
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF *
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *
- *----------------------------------------------------------------------------*/
-
-#include
-#include
-
-#include "NwTypes.h"
-#include "NwLog.h"
-#include "NwUtils.h"
-#include "NwGtpv2cLog.h"
-#include "NwGtpv2c.h"
-#include "NwGtpv2cPrivate.h"
-#include "NwGtpv2cIe.h"
-#include "NwGtpv2cMsg.h"
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-typedef struct NwGtpv2cMsgIeInfo {
- uint8_t ieType;
- uint8_t ieMinLength;
- uint8_t ieInstance;
- uint8_t iePresence;
- struct NwGtpv2cMsgIeInfo *pGroupedIeInfo;
-} NwGtpv2cMsgIeInfoT;
-
-static
-NwGtpv2cMsgIeInfoT createSessionReqBearerCtxtTobeCreatedIeInfoTbl[] = {
- { NW_GTPV2C_IE_EBI , 1, NW_GTPV2C_IE_INSTANCE_ZERO , NW_GTPV2C_IE_PRESENCE_MANDATORY , NULL},
- { NW_GTPV2C_IE_BEARER_TFT , 0, NW_GTPV2C_IE_INSTANCE_ZERO , NW_GTPV2C_IE_PRESENCE_OPTIONAL , NULL},
- { NW_GTPV2C_IE_FTEID , 9, NW_GTPV2C_IE_INSTANCE_ZERO , NW_GTPV2C_IE_PRESENCE_CONDITIONAL , NULL},
- { NW_GTPV2C_IE_FTEID , 9, NW_GTPV2C_IE_INSTANCE_ONE , NW_GTPV2C_IE_PRESENCE_CONDITIONAL , NULL},
- { NW_GTPV2C_IE_FTEID , 9, NW_GTPV2C_IE_INSTANCE_TWO , NW_GTPV2C_IE_PRESENCE_CONDITIONAL , NULL},
- { NW_GTPV2C_IE_FTEID , 9, NW_GTPV2C_IE_INSTANCE_THREE , NW_GTPV2C_IE_PRESENCE_CONDITIONAL , NULL},
- { NW_GTPV2C_IE_FTEID , 9, NW_GTPV2C_IE_INSTANCE_FOUR , NW_GTPV2C_IE_PRESENCE_CONDITIONAL , NULL},
- { NW_GTPV2C_IE_BEARER_LEVEL_QOS, 18, NW_GTPV2C_IE_INSTANCE_ZERO , NW_GTPV2C_IE_PRESENCE_MANDATORY , NULL},
- // { NW_GTPV2C_IE_IMSI , 0, NW_GTPV2C_IE_INSTANCE_ZERO , NW_GTPV2C_IE_PRESENCE_CONDITIONAL , NULL},
-
- /* Do not add below this */
- { 0, 0, 0}
-};
-
-static
-NwGtpv2cMsgIeInfoT createSessionReqBearerCtxtTobeRemovedIeInfoTbl[] = {
- { NW_GTPV2C_IE_IMSI , 0, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL},
-
- /* Do not add below this */
- { 0, 0, 0}
-};
-
-static
-NwGtpv2cMsgIeInfoT echoRspIeInfoTbl[] = {
- { NW_GTPV2C_IE_RECOVERY , 1, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_MANDATORY, NULL},
-
- /* Do not add below this */
- { 0, 0, 0}
-};
-
-static
-NwGtpv2cMsgIeInfoT createSessionReqIeInfoTbl[] = {
- { NW_GTPV2C_IE_IMSI , 8, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL},
- { NW_GTPV2C_IE_MSISDN , 0, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL},
- { NW_GTPV2C_IE_MEI , 0, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL},
- { NW_GTPV2C_IE_FTEID , 9, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_MANDATORY , NULL},
- { NW_GTPV2C_IE_FTEID , 9, NW_GTPV2C_IE_INSTANCE_ONE , NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL},
- { NW_GTPV2C_IE_RAT_TYPE , 1, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_MANDATORY , NULL},
- { NW_GTPV2C_IE_INDICATION , 3, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL},
- { NW_GTPV2C_IE_APN , 0, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_MANDATORY , NULL},
- { NW_GTPV2C_IE_APN_RESTRICTION, 0, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_MANDATORY , NULL},
- { NW_GTPV2C_IE_SELECTION_MODE , 0, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_MANDATORY , NULL},
- { NW_GTPV2C_IE_PDN_TYPE , 1, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_MANDATORY , NULL},
- { NW_GTPV2C_IE_PAA , 5, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_MANDATORY , NULL},
- { NW_GTPV2C_IE_AMBR , 8, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL},
- { NW_GTPV2C_IE_EBI , 1, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL},
- { NW_GTPV2C_IE_PCO , 0, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL},
- { NW_GTPV2C_IE_TRACE_INFORMATION, 0, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL},
- { NW_GTPV2C_IE_FQ_CSID , 0, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL},
- { NW_GTPV2C_IE_FQ_CSID , 0, NW_GTPV2C_IE_INSTANCE_ONE , NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL},
- { NW_GTPV2C_IE_BEARER_CONTEXT , 0, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_MANDATORY , createSessionReqBearerCtxtTobeCreatedIeInfoTbl},
- { NW_GTPV2C_IE_BEARER_CONTEXT , 0, NW_GTPV2C_IE_INSTANCE_ONE , NW_GTPV2C_IE_PRESENCE_CONDITIONAL, createSessionReqBearerCtxtTobeRemovedIeInfoTbl},
- { NW_GTPV2C_IE_SERVING_NETWORK, 3, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_MANDATORY , NULL},
- { NW_GTPV2C_IE_RECOVERY , 0, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL},
- { NW_GTPV2C_IE_CHARGING_CHARACTERISTICS, 0, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL},
- { NW_GTPV2C_IE_LDN , 0, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_OPTIONAL , NULL },
- { NW_GTPV2C_IE_LDN , 0, NW_GTPV2C_IE_INSTANCE_ONE , NW_GTPV2C_IE_PRESENCE_OPTIONAL , NULL },
- { NW_GTPV2C_IE_PRIVATE_EXTENSION, 0, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_OPTIONAL , NULL },
-
- /* Do not add below this */
- { 0, 0, 0}
-};
-
-static
-NwGtpv2cMsgIeInfoT modifyBearerReqIeInfoTbl[] = {
- { NW_GTPV2C_IE_MEI , 0, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
- { NW_GTPV2C_IE_SERVING_NETWORK, 3, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL},
- { NW_GTPV2C_IE_ULI , 0, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
- { NW_GTPV2C_IE_RAT_TYPE , 1, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
- { NW_GTPV2C_IE_INDICATION , 3, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
- { NW_GTPV2C_IE_FTEID , 9, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
- { NW_GTPV2C_IE_BEARER_CONTEXT , 0, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_MANDATORY , NULL },
- { NW_GTPV2C_IE_BEARER_CONTEXT , 0, NW_GTPV2C_IE_INSTANCE_ONE , NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
- { NW_GTPV2C_IE_PRIVATE_EXTENSION, 0, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_OPTIONAL , NULL },
-
- /* Do not add below this */
- { 0, 0, 0}
-};
-
-static
-NwGtpv2cMsgIeInfoT deleteSessionReqIeInfoTbl[] = {
- { NW_GTPV2C_IE_CAUSE , 0, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
- { NW_GTPV2C_IE_EBI , 0, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
- { NW_GTPV2C_IE_ULI , 0, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
- { NW_GTPV2C_IE_INDICATION , 0, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
- { NW_GTPV2C_IE_PCO , 0, NW_GTPV2C_IE_INSTANCE_ONE , NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
- { NW_GTPV2C_IE_RECOVERY , 1, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
- { NW_GTPV2C_IE_PRIVATE_EXTENSION, 0, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_OPTIONAL , NULL },
-
- /* Do not add below this */
- { 0, 0, 0}
-};
-
-static
-NwGtpv2cMsgIeInfoT createSessionRspIeInfoTbl[] = {
- { NW_GTPV2C_IE_CAUSE , 0, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_MANDATORY , NULL },
- { NW_GTPV2C_IE_PAA , 5, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
- { NW_GTPV2C_IE_APN_RESTRICTION, 0, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
- { NW_GTPV2C_IE_FTEID , 9, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
- { NW_GTPV2C_IE_FTEID , 9, NW_GTPV2C_IE_INSTANCE_ONE , NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
- { NW_GTPV2C_IE_BEARER_CONTEXT , 0, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_MANDATORY , NULL },
- { NW_GTPV2C_IE_BEARER_CONTEXT , 0, NW_GTPV2C_IE_INSTANCE_ONE , NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
- { NW_GTPV2C_IE_RECOVERY , 1, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
- { NW_GTPV2C_IE_PRIVATE_EXTENSION, 0, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_OPTIONAL , NULL },
-
- /* Do not add below this */
- { 0, 0, 0}
-};
-
-static
-NwGtpv2cMsgIeInfoT modifyBearerRspIeInfoTbl[] = {
- { NW_GTPV2C_IE_CAUSE , 0, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_MANDATORY , NULL },
- { NW_GTPV2C_IE_PAA , 5, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
- { NW_GTPV2C_IE_APN_RESTRICTION, 0, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
- { NW_GTPV2C_IE_FTEID , 9, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
- { NW_GTPV2C_IE_BEARER_CONTEXT , 0, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
- { NW_GTPV2C_IE_RECOVERY , 1, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
- { NW_GTPV2C_IE_PRIVATE_EXTENSION, 0, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_OPTIONAL , NULL },
-
- /* Do not add below this */
- { 0, 0, 0}
-};
-
-static
-NwGtpv2cMsgIeInfoT deleteSessionRspIeInfoTbl[] = {
- { NW_GTPV2C_IE_CAUSE , 0, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_MANDATORY , NULL },
- { NW_GTPV2C_IE_RECOVERY , 1, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
- { NW_GTPV2C_IE_PCO , 0, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
- { NW_GTPV2C_IE_PRIVATE_EXTENSION, 0, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_OPTIONAL , NULL },
-
- /* Do not add below this */
- { 0, 0, 0}
-};
-
-/* Message sent over s10 interface */
-static
-NwGtpv2cMsgIeInfoT identificationReqIeInfoTbl[] = {
- { NW_GTPV2C_IE_GUTI , 6, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
- { NW_GTPV2C_IE_COMPLETE_REQUEST_MESSAGE, 1, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
- { NW_GTPV2C_IE_SERVING_NETWORK, 0, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL_OPTIONAL, NULL },
- { NW_GTPV2C_IE_PRIVATE_EXTENSION, 0, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_OPTIONAL , NULL },
-
- /* Do not add below this */
- { 0, 0, 0}
-};
-
-static
-NwGtpv2cMsgIeInfoT identificationRspIeInfoTbl[] = {
- { NW_GTPV2C_IE_CAUSE , 0, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_MANDATORY , NULL },
- { NW_GTPV2C_IE_IMSI , 8, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
- { NW_GTPV2C_IE_MM_CONTEXT , 1, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
- { NW_GTPV2C_IE_TRACE_INFORMATION, 0, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL_OPTIONAL, NULL },
- { NW_GTPV2C_IE_PRIVATE_EXTENSION, 0, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_OPTIONAL , NULL },
-
- /* Do not add below this */
- { 0, 0, 0}
-};
-
-static
-NwGtpv2cMsgIeInfoT contextReqIeInfoTbl[] = {
- { NW_GTPV2C_IE_IMSI , 8, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
- { NW_GTPV2C_IE_GUTI , 5, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
- { NW_GTPV2C_IE_ULI , 7, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
- { NW_GTPV2C_IE_PTMSI , 0, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
- { NW_GTPV2C_IE_COMPLETE_REQUEST_MESSAGE, 0, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
- { NW_GTPV2C_IE_FTEID , 9, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
- { NW_GTPV2C_IE_UDP_SOURCE_PORT_NUMBER, 9, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
- { NW_GTPV2C_IE_RAT_TYPE , 1, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
- { NW_GTPV2C_IE_INDICATION , 0, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_OPTIONAL , NULL },
- { NW_GTPV2C_IE_HOP_COUNTER , 0, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_OPTIONAL , NULL },
- { NW_GTPV2C_IE_SERVING_NETWORK, 3, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL_OPTIONAL, NULL },
- { NW_GTPV2C_IE_LDN , 3, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_OPTIONAL , NULL },
- { NW_GTPV2C_IE_PRIVATE_EXTENSION, 0, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_OPTIONAL , NULL },
-
- /* Do not add below this */
- { 0, 0, 0}
-};
-
-static
-NwGtpv2cMsgIeInfoT contextRspIeInfoTbl[] = {
- { NW_GTPV2C_IE_CAUSE , 0, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_MANDATORY , NULL },
- { NW_GTPV2C_IE_IMSI , 8, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL , NULL },
- { NW_GTPV2C_IE_MM_CONTEXT , 4, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL , NULL },
- { NW_GTPV2C_IE_PDN_CONNECTION , 0, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL , NULL },
- { NW_GTPV2C_IE_FTEID , 9, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL , NULL },
- { NW_GTPV2C_IE_FTEID , 9, NW_GTPV2C_IE_INSTANCE_ONE , NW_GTPV2C_IE_PRESENCE_CONDITIONAL , NULL },
- { NW_GTPV2C_IE_FQDN , 0, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL , NULL },
- { NW_GTPV2C_IE_INDICATION , 0, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL , NULL },
- { NW_GTPV2C_IE_TRACE_INFORMATION, 0, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL , NULL },
- { NW_GTPV2C_IE_IP_ADDRESS , 0, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL , NULL },
- { NW_GTPV2C_IE_IP_ADDRESS , 0, NW_GTPV2C_IE_INSTANCE_ONE , NW_GTPV2C_IE_PRESENCE_CONDITIONAL , NULL },
- { NW_GTPV2C_IE_RFSP_INDEX , 2, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL_OPTIONAL, NULL },
- { NW_GTPV2C_IE_RFSP_INDEX , 2, NW_GTPV2C_IE_INSTANCE_ONE , NW_GTPV2C_IE_PRESENCE_CONDITIONAL_OPTIONAL, NULL },
- { NW_GTPV2C_IE_UE_TIME_ZONE , 0, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL_OPTIONAL, NULL },
- { NW_GTPV2C_IE_LDN , 0, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_OPTIONAL , NULL },
- { NW_GTPV2C_IE_PRIVATE_EXTENSION, 0, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_OPTIONAL , NULL },
-
- /* Do not add below this */
- { 0, 0, 0}
-};
-
-static
-NwGtpv2cMsgIeInfoT contextAckIeInfoTbl[] = {
- { NW_GTPV2C_IE_CAUSE , 0, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_MANDATORY , NULL },
- { NW_GTPV2C_IE_INDICATION , 0, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
- { NW_GTPV2C_IE_PRIVATE_EXTENSION, 0, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_OPTIONAL , NULL },
-
- /* Do not add below this */
- { 0, 0, 0}
-};
-
-static
-NwGtpv2cMsgIeInfoT forwardRelocationReqIeInfoTbl[] = {
- { NW_GTPV2C_IE_IMSI , 8, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
- { NW_GTPV2C_IE_FTEID , 9, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_MANDATORY , NULL },
- { NW_GTPV2C_IE_PDN_CONNECTION , 0, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_MANDATORY , NULL },
- { NW_GTPV2C_IE_FTEID , 9, NW_GTPV2C_IE_INSTANCE_ONE , NW_GTPV2C_IE_PRESENCE_MANDATORY , NULL },
- { NW_GTPV2C_IE_FQDN , 0, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
- { NW_GTPV2C_IE_MM_CONTEXT , 4, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_MANDATORY , NULL },
- { NW_GTPV2C_IE_INDICATION , 0, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
- { NW_GTPV2C_IE_F_CONTAINER , 1, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
- { NW_GTPV2C_IE_F_CONTAINER , 1, NW_GTPV2C_IE_INSTANCE_ONE , NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
- { NW_GTPV2C_IE_TARGET_IDENTIFICATION, 0, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
- { NW_GTPV2C_IE_IP_ADDRESS , 0, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
- { NW_GTPV2C_IE_IP_ADDRESS , 0, NW_GTPV2C_IE_INSTANCE_ONE , NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
- { NW_GTPV2C_IE_F_CAUSE , 0, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
- { NW_GTPV2C_IE_F_CAUSE , 0, NW_GTPV2C_IE_INSTANCE_ONE , NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
- { NW_GTPV2C_IE_F_CONTAINER , 1, NW_GTPV2C_IE_INSTANCE_TWO , NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
- { NW_GTPV2C_IE_SOURCE_IDENTIFICATION, 1, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
- { NW_GTPV2C_IE_F_CAUSE , 0, NW_GTPV2C_IE_INSTANCE_TWO , NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
- { NW_GTPV2C_IE_SELECTED_PLMN_ID, 0, NW_GTPV2C_IE_INSTANCE_ONE , NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
- { NW_GTPV2C_IE_RECOVERY , 1, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
- { NW_GTPV2C_IE_TRACE_INFORMATION, 0, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
- { NW_GTPV2C_IE_RFSP_INDEX , 2, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL_OPTIONAL, NULL },
- { NW_GTPV2C_IE_RFSP_INDEX , 2, NW_GTPV2C_IE_INSTANCE_ONE , NW_GTPV2C_IE_PRESENCE_CONDITIONAL_OPTIONAL, NULL },
- { NW_GTPV2C_IE_CSG_ID , 4, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL_OPTIONAL, NULL },
- { NW_GTPV2C_IE_CSG_MEMBERSHIP_INDICATION, 1, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL_OPTIONAL, NULL },
- { NW_GTPV2C_IE_UE_TIME_ZONE , 0, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL_OPTIONAL, NULL },
- { NW_GTPV2C_IE_LDN , 0, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_OPTIONAL , NULL },
- { NW_GTPV2C_IE_ADDITIONAL_MM_CTXT_FOR_SRVCC,0,NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL_OPTIONAL, NULL },
- { NW_GTPV2C_IE_ADDITIONAL_FLAGS_FOR_SRVCC, 0, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL_OPTIONAL, NULL },
- { NW_GTPV2C_IE_MSISDN , 0, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL_OPTIONAL, NULL },
- { NW_GTPV2C_IE_PRIVATE_EXTENSION, 0, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_OPTIONAL , NULL },
-
- /* Do not add below this */
- { 0, 0, 0 }
-};
-
-static
-NwGtpv2cMsgIeInfoT forwardRelocationRspIeInfoTbl[] = {
- { NW_GTPV2C_IE_CAUSE , 0, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_MANDATORY , NULL },
- { NW_GTPV2C_IE_FTEID , 9, NW_GTPV2C_IE_INSTANCE_ONE , NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
- { NW_GTPV2C_IE_INDICATION , 0, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
- { NW_GTPV2C_IE_BEARER_CONTEXT , 0, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
- { NW_GTPV2C_IE_BEARER_CONTEXT , 0, NW_GTPV2C_IE_INSTANCE_ONE , NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
- { NW_GTPV2C_IE_BEARER_CONTEXT , 0, NW_GTPV2C_IE_INSTANCE_TWO , NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
- { NW_GTPV2C_IE_F_CAUSE , 0, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
- { NW_GTPV2C_IE_F_CAUSE , 0, NW_GTPV2C_IE_INSTANCE_ONE , NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
- { NW_GTPV2C_IE_F_CONTAINER , 1, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
- { NW_GTPV2C_IE_F_CONTAINER , 1, NW_GTPV2C_IE_INSTANCE_ONE , NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
- { NW_GTPV2C_IE_F_CONTAINER , 1, NW_GTPV2C_IE_INSTANCE_TWO , NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
- { NW_GTPV2C_IE_F_CAUSE , 0, NW_GTPV2C_IE_INSTANCE_TWO , NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
- { NW_GTPV2C_IE_LDN , 0, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_OPTIONAL , NULL },
- { NW_GTPV2C_IE_PRIVATE_EXTENSION, 0, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_OPTIONAL , NULL },
-
- /* Do not add below this */
- { 0, 0, 0}
-};
-
-static
-NwGtpv2cMsgIeInfoT forwardRelocationCompleteNtfIeInfoTbl[] = {
- { NW_GTPV2C_IE_INDICATION , 0, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_CONDITIONAL, NULL },
- { NW_GTPV2C_IE_PRIVATE_EXTENSION, 0, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_OPTIONAL , NULL },
-
- /* Do not add below this */
- { 0, 0, 0}
-};
-
-static
-NwGtpv2cMsgIeInfoT forwardRelocationCompleteAckIeInfoTbl[] = {
- { NW_GTPV2C_IE_CAUSE , 0, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_MANDATORY , NULL },
- { NW_GTPV2C_IE_RECOVERY , 1, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_OPTIONAL , NULL },
- { NW_GTPV2C_IE_PRIVATE_EXTENSION, 0, NW_GTPV2C_IE_INSTANCE_ZERO, NW_GTPV2C_IE_PRESENCE_OPTIONAL , NULL },
-
- /* Do not add below this */
- { 0, 0, 0}
-};
-
-/*----------------------------------------------------------------------------*
- * P R I V A T E F U N C T I O N S *
- *----------------------------------------------------------------------------*/
-
-static uint32_t
-nwGtpv2cMsgGroupedIeCount(NwGtpv2cMsgIeInfoT *pMsgIeInfo)
-{
- uint32_t count = 0;
- NwGtpv2cMsgIeInfoT *pGroupedIeInfo = pMsgIeInfo;
-
- while (pGroupedIeInfo++) {
- if (pGroupedIeInfo->ieType == 0) {
- break;
- }
-
- count ++;
- }
-
- return count;
-}
-
-static NwRcT
-nwGtpv2cMsgIeParseInfoUpdate(NwGtpv2cMsgIeParseInfoT *thiz,
- NwGtpv2cMsgIeInfoT *pMsgIeInfo)
-{
- uint32_t i, j;
-
- for (i = 0; pMsgIeInfo[i].ieType; i++) {
- if (pMsgIeInfo[i].pGroupedIeInfo) {
- NwGtpv2cGroupedIeParseInfoT *pMsgIeParseInfo;
-
- NW_GTPV2C_MALLOC(thiz->hStack, sizeof(NwGtpv2cGroupedIeParseInfoT),
- pMsgIeParseInfo, NwGtpv2cGroupedIeParseInfoT*);
-
- pMsgIeParseInfo->groupedIeType = pMsgIeInfo[i].ieType;
- pMsgIeParseInfo->hStack = thiz->hStack;
-
- for (j = 0; pMsgIeInfo[i].pGroupedIeInfo[j].ieType; j++) {
- pMsgIeParseInfo->ieParseInfo[pMsgIeInfo[i].pGroupedIeInfo[j].ieType][pMsgIeInfo[i].pGroupedIeInfo[j].ieInstance].ieMinLength =
- pMsgIeInfo[i].pGroupedIeInfo[j].ieMinLength;
- pMsgIeParseInfo->ieParseInfo[pMsgIeInfo[i].pGroupedIeInfo[j].ieType][pMsgIeInfo[i].pGroupedIeInfo[j].ieInstance].iePresence =
- pMsgIeInfo[i].pGroupedIeInfo[j].iePresence;
-
- if(pMsgIeInfo[i].pGroupedIeInfo[j].iePresence == NW_GTPV2C_IE_PRESENCE_MANDATORY)
- pMsgIeParseInfo->mandatoryIeCount++;
- }
-
- thiz->ieParseInfo[pMsgIeInfo[i].ieType][pMsgIeInfo[i].ieInstance].pGroupedIeInfo = pMsgIeParseInfo;
- } else {
- thiz->ieParseInfo[pMsgIeInfo[i].ieType][pMsgIeInfo[i].ieInstance].pGroupedIeInfo = NULL;
- }
-
- thiz->ieParseInfo[pMsgIeInfo[i].ieType][pMsgIeInfo[i].ieInstance].iePresence = pMsgIeInfo[i].iePresence;
- thiz->ieParseInfo[pMsgIeInfo[i].ieType][pMsgIeInfo[i].ieInstance].ieMinLength = pMsgIeInfo[i].ieMinLength;
-
- if(pMsgIeInfo[i].iePresence == NW_GTPV2C_IE_PRESENCE_MANDATORY)
- thiz->mandatoryIeCount++;
- }
-
- return NW_OK;
-}
-
-static NwRcT
-nwGtpv2cMsgGroupedIeParse(NW_IN NwGtpv2cGroupedIeParseInfoT* thiz,
- NW_IN uint8_t ieType,
- NW_IN uint16_t ieLength,
- NW_IN uint8_t ieInstance,
- NW_IN uint8_t *pIeValue)
-{
- NW_ASSERT(thiz);
-
- NW_LOG(thiz->hStack, NW_LOG_LEVEL_DEBG, "Received grouped IE %u with instance %u of length %u in msg-type %u!",
- ieType, ieInstance, ieLength, thiz->groupedIeType);
-
- return NW_OK;
-}
-
-/*----------------------------------------------------------------------------*
- * P U B L I C F U N C T I O N S *
- *----------------------------------------------------------------------------*/
-
-/**
- * Constructor
- * @return Pointer to the object on success.
- */
-
-NwGtpv2cMsgIeParseInfoT*
-nwGtpv2cMsgIeParseInfoNew(NwGtpv2cStackHandleT hStack, uint8_t msgType)
-{
- NwRcT rc;
- NwGtpv2cMsgIeParseInfoT *thiz;
-
- NW_GTPV2C_MALLOC(hStack, sizeof(NwGtpv2cMsgIeParseInfoT), thiz, NwGtpv2cMsgIeParseInfoT*);
-
- if(thiz) {
- memset(thiz, 0, sizeof(NwGtpv2cMsgIeParseInfoT));
-
- thiz->hStack = hStack;
- thiz->msgType = msgType;
-
- switch(msgType) {
- case NW_GTP_ECHO_RSP: {
- rc = nwGtpv2cMsgIeParseInfoUpdate(thiz, echoRspIeInfoTbl);
- NW_ASSERT(NW_OK == rc);
- }
- break;
-
- case NW_GTP_CREATE_SESSION_REQ: {
- rc = nwGtpv2cMsgIeParseInfoUpdate(thiz, createSessionReqIeInfoTbl);
- NW_ASSERT(NW_OK == rc);
- }
- break;
-
- case NW_GTP_CREATE_SESSION_RSP: {
- rc = nwGtpv2cMsgIeParseInfoUpdate(thiz, createSessionRspIeInfoTbl);
- NW_ASSERT(NW_OK == rc);
- }
- break;
-
- case NW_GTP_DELETE_SESSION_REQ: {
- rc = nwGtpv2cMsgIeParseInfoUpdate(thiz, deleteSessionReqIeInfoTbl);
- NW_ASSERT(NW_OK == rc);
- }
- break;
-
- case NW_GTP_DELETE_SESSION_RSP: {
- rc = nwGtpv2cMsgIeParseInfoUpdate(thiz, deleteSessionRspIeInfoTbl);
- NW_ASSERT(NW_OK == rc);
- }
- break;
-
- case NW_GTP_MODIFY_BEARER_REQ: {
- rc = nwGtpv2cMsgIeParseInfoUpdate(thiz, modifyBearerReqIeInfoTbl);
- NW_ASSERT(NW_OK == rc);
- }
- break;
-
- case NW_GTP_MODIFY_BEARER_RSP: {
- rc = nwGtpv2cMsgIeParseInfoUpdate(thiz, modifyBearerRspIeInfoTbl);
- NW_ASSERT(NW_OK == rc);
- }
- break;
-
- case NW_GTP_FORWARD_RELOCATION_REQ: {
- rc = nwGtpv2cMsgIeParseInfoUpdate(thiz, forwardRelocationReqIeInfoTbl);
- NW_ASSERT(NW_OK == rc);
- }
- break;
-
- case NW_GTP_FORWARD_RELOCATION_RSP: {
- rc = nwGtpv2cMsgIeParseInfoUpdate(thiz, forwardRelocationRspIeInfoTbl);
- NW_ASSERT(NW_OK == rc);
- }
- break;
-
- case NW_GTP_FORWARD_RELOCATION_COMPLETE_NTF: {
- rc = nwGtpv2cMsgIeParseInfoUpdate(thiz, forwardRelocationCompleteNtfIeInfoTbl);
- NW_ASSERT(NW_OK == rc);
- }
- break;
-
- case NW_GTP_FORWARD_RELOCATION_COMPLETE_ACK: {
- rc = nwGtpv2cMsgIeParseInfoUpdate(thiz, forwardRelocationCompleteAckIeInfoTbl);
- NW_ASSERT(NW_OK == rc);
- }
- break;
-
- case NW_GTP_CONTEXT_REQ: {
- rc = nwGtpv2cMsgIeParseInfoUpdate(thiz, contextReqIeInfoTbl);
- NW_ASSERT(NW_OK == rc);
- }
- break;
-
- case NW_GTP_CONTEXT_RSP: {
- rc = nwGtpv2cMsgIeParseInfoUpdate(thiz, contextRspIeInfoTbl);
- NW_ASSERT(NW_OK == rc);
- }
- break;
-
- case NW_GTP_CONTEXT_ACK: {
- rc = nwGtpv2cMsgIeParseInfoUpdate(thiz, contextAckIeInfoTbl);
- NW_ASSERT(NW_OK == rc);
- }
- break;
-
- case NW_GTP_IDENTIFICATION_REQ: {
- rc = nwGtpv2cMsgIeParseInfoUpdate(thiz, identificationReqIeInfoTbl);
- NW_ASSERT(NW_OK == rc);
- }
- break;
-
- case NW_GTP_IDENTIFICATION_RSP: {
- rc = nwGtpv2cMsgIeParseInfoUpdate(thiz, identificationRspIeInfoTbl);
- NW_ASSERT(NW_OK == rc);
- }
- break;
-
- default: {
- free(thiz);
- thiz = NULL;
- }
- break;
- }
- }
-
- return thiz;
-}
-
-/**
- * Destructor
- * @return NW_OK on success.
- */
-
-NwRcT
-nwGtpv2cMsgIeParseInfoDelete(NwGtpv2cMsgIeParseInfoT* thiz)
-{
- NW_GTPV2C_FREE(thiz->hStack, thiz);
- return NW_OK;
-}
-
-/**
- * Parse message
- * @return NW_OK on success.
- */
-
-NwRcT
-nwGtpv2cMsgIeParse(NW_IN NwGtpv2cMsgIeParseInfoT* thiz,
- NW_IN NwGtpv2cMsgHandleT hMsg,
- NW_INOUT NwGtpv2cErrorT *pError)
-{
- NwRcT rc = NW_OK;
- uint16_t mandatoryIeCount =0;
- uint8_t *pIeBufStart;
- uint8_t *pIeBufEnd;
- uint16_t ieType;
- uint16_t ieLength;
- uint16_t ieInstance;
- NwGtpv2cIeTlvT *pIe;
- NwGtpv2cMsgT *pMsg = (NwGtpv2cMsgT*) hMsg;
- uint8_t flags = *((uint8_t*)(pMsg->msgBuf));
-
- pIeBufStart = (uint8_t *) (pMsg->msgBuf + (flags & 0x08 ? 12: 8));
- pIeBufEnd = (uint8_t *) (pMsg->msgBuf + pMsg->msgLen);
-
- //memset(pMsg->pIe, 0, sizeof(uint8_t*) * (NW_GTPV2C_IE_TYPE_MAXIMUM) * (NW_GTPV2C_IE_INSTANCE_MAXIMUM));
- memset(pMsg->isIeValid, (NW_FALSE), sizeof(uint8_t) * (NW_GTPV2C_IE_TYPE_MAXIMUM) * (NW_GTPV2C_IE_INSTANCE_MAXIMUM));
-
- while (pIeBufStart < pIeBufEnd) {
- pIe = (NwGtpv2cIeTlvT*) pIeBufStart;
- ieType = pIe->t;
- ieLength = ntohs(pIe->l);
- ieInstance = pIe->i & 0x0F;
-
- NW_ASSERT(NW_GTPV2C_IE_INSTANCE_MAXIMUM >= ieInstance);
-
- NW_LOG(thiz->hStack, NW_LOG_LEVEL_DEBG, "Received IE %u with instance %u of length %u in msg-type %u!", ieType, ieInstance, ieLength, thiz->msgType);
-
- if(pIeBufStart + 4 + ieLength > pIeBufEnd) {
- NW_LOG(thiz->hStack, NW_LOG_LEVEL_ERRO, "Invalid length for IE of type %u and instance %u!", ieType, ieInstance);
- pError->cause = NW_GTPV2C_CAUSE_INVALID_LENGTH;
- pError->offendingIe.type = ieType;
- pError->offendingIe.instance = ieInstance;
- return NW_FAILURE;
- }
-
- if((thiz->ieParseInfo[ieType][ieInstance].iePresence)) {
- if((ieLength < (thiz->ieParseInfo[ieType][ieInstance].ieMinLength))) {
- if(thiz->ieParseInfo[ieType][ieInstance].iePresence == NW_GTPV2C_IE_PRESENCE_OPTIONAL) {
- /* Ignore TLV */
- pIeBufStart += (ieLength + 4);
- continue;
- } else {
- pError->cause = NW_GTPV2C_CAUSE_MANDATORY_IE_INCORRECT;
- pError->offendingIe.type = ieType;
- pError->offendingIe.instance = ieInstance;
- NW_LOG(thiz->hStack, NW_LOG_LEVEL_ERRO, "Mandatory IE of type %u and instance %u incorrect!", ieType, ieInstance);
- return NW_FAILURE;
- }
- }
-
- if(pMsg->isIeValid[ieType][ieInstance] == NW_TRUE) {
- /*
- * If an information element is repeated in a GTP signalling
- * message in which repetition of the information element is
- * not specified, only the contents of the information element
- * appearing first shall be handled and all subsequent repetitions
- * of the information element shall be ignored.
- * TODO: Add handling for IEs for which repetition is allowed.
- */
- pIeBufStart += (ieLength + 4);
- continue;
- }
-
- pMsg->pIe[ieType][ieInstance] = (uint8_t*) pIeBufStart;
- pMsg->isIeValid[ieType][ieInstance] = NW_TRUE;
-
- if(thiz->ieParseInfo[ieType][ieInstance].pGroupedIeInfo) {
- /* Parse the grouped IE */
- rc = nwGtpv2cMsgGroupedIeParse(thiz->ieParseInfo[ieType][ieInstance].pGroupedIeInfo, ieType, ieLength, ieInstance, ((uint8_t*) pIe) + 4);
-
- if (rc != NW_OK) {
- pError->cause = NW_GTPV2C_CAUSE_MANDATORY_IE_INCORRECT;
- pError->offendingIe.type = ieType;
- pError->offendingIe.instance = ieInstance;
- NW_LOG(thiz->hStack, NW_LOG_LEVEL_ERRO, "Mandatory IE of type %u and instance %u incorrect!", ieType, ieInstance);
- return NW_FAILURE;
- }
- }
-
- if(thiz->ieParseInfo[ieType][ieInstance].iePresence == NW_GTPV2C_IE_PRESENCE_MANDATORY) {
- mandatoryIeCount++;
- }
- } else {
- NW_LOG(thiz->hStack, NW_LOG_LEVEL_WARN, "Unexpected IE %u with instance %u of length %u received in msg %u!", ieType, ieInstance, ieLength, thiz->msgType);
- }
-
- pIeBufStart += (ieLength + 4);
- }
-
- if((NW_OK == rc) && (mandatoryIeCount != thiz->mandatoryIeCount)) {
- for(ieType = 0; ieType < NW_GTPV2C_IE_TYPE_MAXIMUM; ieType++) {
- for(ieInstance = 0; ieInstance < NW_GTPV2C_IE_INSTANCE_MAXIMUM; ieInstance++) {
- if(thiz->ieParseInfo[ieType][ieInstance].iePresence == NW_GTPV2C_IE_PRESENCE_MANDATORY) {
- if(pMsg->isIeValid[ieType][ieInstance] == NW_FALSE) {
- NW_LOG(thiz->hStack, NW_LOG_LEVEL_ERRO, "Mandatory IE of type %u and instance %u missing in msg type %u", ieType, ieInstance, pMsg->msgType);
- pError->cause = NW_GTPV2C_CAUSE_MANDATORY_IE_MISSING;
- pError->offendingIe.type = ieType;
- pError->offendingIe.instance = ieInstance;
- return NW_FAILURE;
- }
- }
- }
- }
-
- NW_LOG(thiz->hStack, NW_LOG_LEVEL_CRIT, "Unknown mandatory IE missing. Msg parser formed incorrectly!");
- pError->cause = NW_GTPV2C_CAUSE_MANDATORY_IE_MISSING;
- pError->offendingIe.type = 0;
- pError->offendingIe.instance = 0;
- return NW_FAILURE;
- }
-
- pError->cause = NW_GTPV2C_CAUSE_REQUEST_ACCEPTED;
- return NW_OK;
-}
-
-
-#ifdef __cplusplus
-}
-#endif
-
-/*--------------------------------------------------------------------------*
- * E N D O F F I L E *
- *--------------------------------------------------------------------------*/
-
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/src/NwGtpv2cMsgParser.c b/openair-cn/GTPV2-C/nwgtpv2c-0.11/src/NwGtpv2cMsgParser.c
deleted file mode 100644
index a19ddc1bcc..0000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/src/NwGtpv2cMsgParser.c
+++ /dev/null
@@ -1,293 +0,0 @@
-/*----------------------------------------------------------------------------*
- * *
- * n w - g t p v 2 c *
- * G P R S T u n n e l i n g P r o t o c o l v 2 c S t a c k *
- * *
- * *
- * Copyright (c) 2010-2011 Amit Chawre *
- * All rights reserved. *
- * *
- * Redistribution and use in source and binary forms, with or without *
- * modification, are permitted provided that the following conditions *
- * are met: *
- * *
- * 1. Redistributions of source code must retain the above copyright *
- * notice, this list of conditions and the following disclaimer. *
- * 2. Redistributions in binary form must reproduce the above copyright *
- * notice, this list of conditions and the following disclaimer in the *
- * documentation and/or other materials provided with the distribution. *
- * 3. The name of the author may not be used to endorse or promote products *
- * derived from this software without specific prior written permission. *
- * *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR *
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES *
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. *
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, *
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT *
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, *
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY *
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF *
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *
- *----------------------------------------------------------------------------*/
-
-#include "NwTypes.h"
-#include "NwUtils.h"
-#include "NwGtpv2cLog.h"
-#include "NwGtpv2c.h"
-#include "NwGtpv2cPrivate.h"
-#include "NwGtpv2cIe.h"
-#include "NwGtpv2cMsg.h"
-#include "NwGtpv2cMsgParser.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * Allocate a gtpv2c message Parser.
- *
- * @param[in] hGtpcStackHandle : gtpv2c stack handle.
- * @param[in] msgType : Message type for this message parser.
- * @param[out] pthiz : Pointer to message parser handle.
- */
-
-NwRcT
-nwGtpv2cMsgParserNew( NW_IN NwGtpv2cStackHandleT hGtpcStackHandle,
- NW_IN uint8_t msgType,
- NW_IN NwRcT (*ieReadCallback) (uint8_t ieType,
- uint8_t ieLength,
- uint8_t ieInstance,
- uint8_t* ieValue,
- void* ieReadCallbackArg),
- NW_IN void* ieReadCallbackArg,
- NW_IN NwGtpv2cMsgParserT **pthiz)
-{
- NwGtpv2cMsgParserT* thiz;
- // NW_GTPV2C_MALLOC(hGtpcStackHandle, sizeof(NwGtpv2cMsgParserT), thiz, NwGtpv2cMsgParserT*);
- thiz = (NwGtpv2cMsgParserT*) malloc (sizeof(NwGtpv2cMsgParserT));
-
- if(thiz) {
- memset(thiz, 0, sizeof(NwGtpv2cMsgParserT));
- thiz->msgType = msgType;
- thiz->hStack = hGtpcStackHandle;
- *pthiz = thiz;
- thiz->ieReadCallback = ieReadCallback;
- thiz->ieReadCallbackArg = ieReadCallbackArg;
- return NW_OK;
- }
-
- return NW_FAILURE;
-}
-
-/**
- * Free a gtpv2c message parser.
- *
- * @param[in] hGtpcStackHandle : gtpv2c stack handle.
- * @param[in] thiz : Message parser handle.
- */
-
-NwRcT
-nwGtpv2cMsgParserDelete( NW_IN NwGtpv2cStackHandleT hGtpcStackHandle,
- NW_IN NwGtpv2cMsgParserT* thiz)
-{
- NW_GTPV2C_FREE(hGtpcStackHandle, thiz);
- return NW_OK;
-}
-
-NwRcT
-nwGtpv2cMsgParserUpdateIeReadCallback( NW_IN NwGtpv2cMsgParserT* thiz,
- NW_IN NwRcT (*ieReadCallback) (uint8_t ieType,
- uint8_t ieLength,
- uint8_t ieInstance,
- uint8_t* ieValue,
- void* ieReadCallbackArg))
-{
- if(thiz) {
- thiz->ieReadCallback = ieReadCallback;
- return NW_OK;
- }
-
- return NW_FAILURE;
-}
-
-NwRcT
-nwGtpv2cMsgParserUpdateIeReadCallbackArg( NW_IN NwGtpv2cMsgParserT* thiz,
- NW_IN void* ieReadCallbackArg)
-{
- if(thiz) {
- thiz->ieReadCallbackArg = ieReadCallbackArg;
- return NW_OK;
- }
-
- return NW_FAILURE;
-}
-
-NwRcT
-nwGtpv2cMsgParserAddIe( NW_IN NwGtpv2cMsgParserT* thiz,
- NW_IN uint8_t ieType,
- NW_IN uint8_t ieInstance,
- NW_IN uint8_t iePresence,
- NW_IN NwRcT (*ieReadCallback) (uint8_t ieType,
- uint8_t ieLength,
- uint8_t ieInstance,
- uint8_t* ieValue,
- void* ieReadCallbackArg),
- NW_IN void* ieReadCallbackArg)
-{
- NW_ASSERT(thiz);
-
- if(thiz->ieParseInfo[ieType][ieInstance].iePresence == 0) {
- NW_ASSERT(ieInstance <= NW_GTPV2C_IE_INSTANCE_MAXIMUM);
-
- thiz->ieParseInfo[ieType][ieInstance].ieReadCallback = ieReadCallback;
- thiz->ieParseInfo[ieType][ieInstance].ieReadCallbackArg = ieReadCallbackArg;
- thiz->ieParseInfo[ieType][ieInstance].iePresence = iePresence;
-
- if (iePresence == NW_GTPV2C_IE_PRESENCE_MANDATORY) {
- thiz->mandatoryIeCount++;
- }
- } else {
- NW_LOG(thiz->hStack, NW_LOG_LEVEL_ERRO, "Cannot add IE to parser for type %u and instance %u. IE info already exists!", ieType, ieInstance);
- }
-
- return NW_OK;
-}
-
-NwRcT
-nwGtpv2cMsgParserUpdateIe( NW_IN NwGtpv2cMsgParserT* thiz,
- NW_IN uint8_t ieType,
- NW_IN uint8_t ieInstance,
- NW_IN uint8_t iePresence,
- NW_IN NwRcT (*ieReadCallback) (uint8_t ieType,
- uint8_t ieLength,
- uint8_t ieInstance,
- uint8_t* ieValue,
- void* ieReadCallbackArg),
- NW_IN void* ieReadCallbackArg)
-{
- NW_ASSERT(thiz);
-
- if(thiz->ieParseInfo[ieType][ieInstance].iePresence) {
- thiz->ieParseInfo[ieType][ieInstance].ieReadCallback = ieReadCallback;
- thiz->ieParseInfo[ieType][ieInstance].ieReadCallbackArg = ieReadCallbackArg;
-
- thiz->ieParseInfo[ieType][ieInstance].iePresence = iePresence;
- } else {
- NW_LOG(thiz->hStack, NW_LOG_LEVEL_ERRO, "Cannot update IE info for type %u and instance %u. IE info does not exist!", ieType, ieInstance);
- }
-
-
- return NW_OK;
-}
-
-
-
-NwRcT
-nwGtpv2cMsgParserRun( NW_IN NwGtpv2cMsgParserT *thiz,
- NW_IN NwGtpv2cMsgHandleT hMsg,
- NW_OUT uint8_t *pOffendingIeType,
- NW_OUT uint8_t *pOffendingIeInstance,
- NW_OUT uint16_t *pOffendingIeLength)
-{
- NwRcT rc = NW_OK;
- uint8_t flags;
- uint16_t mandatoryIeCount =0;
- NwGtpv2cIeTlvT *pIe;
- uint8_t *pIeStart;
- uint8_t *pIeEnd;
- uint16_t ieLength;
- NwGtpv2cMsgT *pMsg = (NwGtpv2cMsgT*) hMsg;
-
- NW_ASSERT(pMsg);
- flags = *((uint8_t*)(pMsg->msgBuf));
- pIeStart = (uint8_t *) (pMsg->msgBuf + (flags & 0x08 ? 12: 8));
- pIeEnd = (uint8_t *) (pMsg->msgBuf + pMsg->msgLen);
-
- memset(thiz->pIe, 0, sizeof(uint8_t*) * (NW_GTPV2C_IE_TYPE_MAXIMUM) * (NW_GTPV2C_IE_INSTANCE_MAXIMUM));
- memset(pMsg->pIe, 0, sizeof(uint8_t*) * (NW_GTPV2C_IE_TYPE_MAXIMUM) * (NW_GTPV2C_IE_INSTANCE_MAXIMUM));
-
- while (pIeStart < pIeEnd) {
- pIe = (NwGtpv2cIeTlvT*) pIeStart;
- ieLength = ntohs(pIe->l);
-
- if(pIeStart + 4 + ieLength > pIeEnd) {
- *pOffendingIeType = pIe->t;
- *pOffendingIeLength = pIe->l;
- *pOffendingIeInstance = pIe->i;
- return NW_GTPV2C_MSG_MALFORMED;
- }
-
- if((thiz->ieParseInfo[pIe->t][pIe->i].iePresence)) {
- thiz->pIe[pIe->t][pIe->i] = (uint8_t*) pIeStart;
- pMsg->pIe[pIe->t][pIe->i] = (uint8_t*) pIeStart;
-
- NW_LOG(thiz->hStack, NW_LOG_LEVEL_DEBG, "Received IE %u of length %u!", pIe->t, ieLength);
-
- if((thiz->ieParseInfo[pIe->t][pIe->i].ieReadCallback) != NULL ) {
- rc = thiz->ieParseInfo[pIe->t][pIe->i].ieReadCallback(pIe->t, ieLength, pIe->i, pIeStart + 4, thiz->ieParseInfo[pIe->t][pIe->i].ieReadCallbackArg);
-
- if(NW_OK == rc) {
- if(thiz->ieParseInfo[pIe->t][pIe->i].iePresence == NW_GTPV2C_IE_PRESENCE_MANDATORY)
- mandatoryIeCount++;
- } else {
- NW_LOG(thiz->hStack, NW_LOG_LEVEL_ERRO, "Error while parsing IE %u with instance %u and length %u!", pIe->t, pIe->i, ieLength);
- break;
- }
- } else {
- if((thiz->ieReadCallback) != NULL ) {
- NW_LOG(thiz->hStack, NW_LOG_LEVEL_DEBG, "Received IE %u of length %u!", pIe->t, ieLength);
- rc = thiz->ieReadCallback(pIe->t, ieLength, pIe->i, pIeStart + 4, thiz->ieReadCallbackArg);
-
- if(NW_OK == rc) {
- if(thiz->ieParseInfo[pIe->t][pIe->i].iePresence == NW_GTPV2C_IE_PRESENCE_MANDATORY)
- mandatoryIeCount++;
- } else {
- NW_LOG(thiz->hStack, NW_LOG_LEVEL_ERRO, "Error while parsing IE %u of length %u!", pIe->t, ieLength);
- break;
- }
- } else {
- NW_LOG(thiz->hStack, NW_LOG_LEVEL_WARN, "No parse method defined for received IE type %u of length %u in message %u!", pIe->t, ieLength, thiz->msgType);
- }
- }
- } else {
- NW_LOG(thiz->hStack, NW_LOG_LEVEL_WARN, "Unexpected IE %u of length %u received in msg %u!", pIe->t, ieLength, thiz->msgType);
- }
-
- pIeStart += (ieLength + 4);
- }
-
- if((NW_OK == rc) && (mandatoryIeCount != thiz->mandatoryIeCount)) {
- uint16_t t, i;
- *pOffendingIeType = 0;
- *pOffendingIeInstance = 0;
- *pOffendingIeLength = 0;
-
- for(t = 0; t < NW_GTPV2C_IE_TYPE_MAXIMUM; t++) {
- for(i = 0; i < NW_GTPV2C_IE_INSTANCE_MAXIMUM; i++) {
- if(thiz->ieParseInfo[t][i].iePresence == NW_GTPV2C_IE_PRESENCE_MANDATORY) {
- if(thiz->pIe[t][i] == NULL) {
- *pOffendingIeType = t;
- *pOffendingIeInstance = i;
- return NW_GTPV2C_MANDATORY_IE_MISSING;
- }
- }
- }
- }
-
- NW_LOG(thiz->hStack, NW_LOG_LEVEL_WARN, "Unknown mandatory IE missing. Parser formed incorrectly! %u:%u", mandatoryIeCount, thiz->mandatoryIeCount);
- return NW_GTPV2C_MANDATORY_IE_MISSING;
- }
-
- return rc;
-}
-
-#ifdef __cplusplus
-}
-#endif
-
-
-/*--------------------------------------------------------------------------*
- * E N D O F F I L E *
- *--------------------------------------------------------------------------*/
-
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/src/NwGtpv2cTrxn.c b/openair-cn/GTPV2-C/nwgtpv2c-0.11/src/NwGtpv2cTrxn.c
deleted file mode 100644
index 4d052d05f1..0000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/src/NwGtpv2cTrxn.c
+++ /dev/null
@@ -1,389 +0,0 @@
-/*----------------------------------------------------------------------------*
- * *
- * n w - g t p v 2 c *
- * G P R S T u n n e l i n g P r o t o c o l v 2 c S t a c k *
- * *
- * *
- * Copyright (c) 2010-2011 Amit Chawre *
- * All rights reserved. *
- * *
- * Redistribution and use in source and binary forms, with or without *
- * modification, are permitted provided that the following conditions *
- * are met: *
- * *
- * 1. Redistributions of source code must retain the above copyright *
- * notice, this list of conditions and the following disclaimer. *
- * 2. Redistributions in binary form must reproduce the above copyright *
- * notice, this list of conditions and the following disclaimer in the *
- * documentation and/or other materials provided with the distribution. *
- * 3. The name of the author may not be used to endorse or promote products *
- * derived from this software without specific prior written permission. *
- * *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR *
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES *
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. *
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, *
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT *
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, *
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY *
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF *
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *
- *----------------------------------------------------------------------------*/
-
-#include
-#include
-
-#include "NwTypes.h"
-#include "NwLog.h"
-#include "NwUtils.h"
-#include "NwGtpv2cLog.h"
-#include "NwGtpv2c.h"
-#include "NwGtpv2cPrivate.h"
-#include "NwGtpv2cTrxn.h"
-
-/*--------------------------------------------------------------------------*
- * P R I V A T E D E C L A R A T I O N S *
- *--------------------------------------------------------------------------*/
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-static NwGtpv2cTrxnT* gpGtpv2cTrxnPool = NULL;
-
-/*--------------------------------------------------------------------------*
- * P R I V A T E F U N C T I O N S *
- *--------------------------------------------------------------------------*/
-
-/*---------------------------------------------------------------------------
- * Send msg retransmission to peer via data request to UDP Entity
- *--------------------------------------------------------------------------*/
-
-static NwRcT
-nwGtpv2cTrxnSendMsgRetransmission(NwGtpv2cTrxnT* thiz)
-{
- NwRcT rc ;
-
- NW_ASSERT(thiz);
-
- NW_ASSERT(thiz->pMsg);
-
- rc = thiz->pStack->udp.udpDataReqCallback(thiz->pStack->udp.hUdp,
- thiz->pMsg->msgBuf,
- thiz->pMsg->msgLen,
- thiz->peerIp,
- thiz->peerPort);
-
- thiz->maxRetries--;
-
- return rc;
-}
-
-static NwRcT
-nwGtpv2cTrxnPeerRspWaitTimeout(void* arg)
-{
- NwRcT rc = NW_OK;
- NwGtpv2cTrxnT* thiz;
- NwGtpv2cStackT* pStack;
-
- thiz = ((NwGtpv2cTrxnT*)arg);
- pStack = thiz->pStack;
-
- NW_ASSERT(pStack);
-
- NW_LOG(pStack, NW_LOG_LEVEL_WARN, "T3 Response timer expired for transaction 0x%p",
- thiz);
-
- thiz->hRspTmr = 0;
-
- if(thiz->maxRetries) {
- rc = nwGtpv2cTrxnSendMsgRetransmission(thiz);
- NW_ASSERT(NW_OK == rc);
-
- rc = nwGtpv2cStartTimer(thiz->pStack, thiz->t3Timer, 0, NW_GTPV2C_TMR_TYPE_ONE_SHOT, nwGtpv2cTrxnPeerRspWaitTimeout, thiz, &thiz->hRspTmr);
- } else {
- NwGtpv2cUlpApiT ulpApi;
-
- ulpApi.hMsg = 0;
- ulpApi.apiType = NW_GTPV2C_ULP_API_RSP_FAILURE_IND;
-
- ulpApi.apiInfo.rspFailureInfo.hUlpTrxn = thiz->hUlpTrxn;
- ulpApi.apiInfo.rspFailureInfo.hUlpTunnel = ( (thiz->hTunnel) ? ((NwGtpv2cTunnelT*)(thiz->hTunnel))->hUlpTunnel : 0 );
-
- NW_LOG(pStack, NW_LOG_LEVEL_ERRO, "N3 retries expired for transaction 0x%p",
- thiz);
- RB_REMOVE(NwGtpv2cOutstandingTxSeqNumTrxnMap, &(pStack->outstandingTxSeqNumMap), thiz);
- rc = nwGtpv2cTrxnDelete(&thiz);
-
- rc = pStack->ulp.ulpReqCallback(pStack->ulp.hUlp, &ulpApi);
- }
-
- return rc;
-}
-
-static NwRcT
-nwGtpv2cTrxnDuplicateRequestWaitTimeout(void* arg)
-{
- NwRcT rc = NW_OK;
- NwGtpv2cTrxnT* thiz;
- NwGtpv2cStackT* pStack;
-
- thiz = ((NwGtpv2cTrxnT*)arg);
-
- NW_ASSERT(thiz);
- pStack = thiz->pStack;
-
- NW_ASSERT(pStack);
-
- NW_LOG(pStack, NW_LOG_LEVEL_DEBG, "Duplicate request hold timer expired for transaction 0x%p",
- thiz);
-
- thiz->hRspTmr = 0;
-
- RB_REMOVE(NwGtpv2cOutstandingRxSeqNumTrxnMap, &(pStack->outstandingRxSeqNumMap), thiz);
- rc = nwGtpv2cTrxnDelete(&thiz);
- NW_ASSERT(NW_OK == rc);
-
- return rc;
-}
-
-/**
- * Start timer to wait for rsp of a req message
- *
- * @param[in] thiz : Pointer to transaction
- * @param[in] timeoutCallbackFunc : Timeout handler callback function.
- * @return NW_OK on success.
- */
-
-NwRcT
-nwGtpv2cTrxnStartPeerRspWaitTimer(NwGtpv2cTrxnT* thiz)
-{
- NwRcT rc;
- rc = nwGtpv2cStartTimer(thiz->pStack, thiz->t3Timer, 0, NW_GTPV2C_TMR_TYPE_ONE_SHOT, nwGtpv2cTrxnPeerRspWaitTimeout, thiz, &thiz->hRspTmr);
- return rc;
-}
-
-/**
- Start timer to wait before pruginf a req tran for which response has been sent
-
- @param[in] thiz : Pointer to transaction
- @return NW_OK on success.
- */
-
-NwRcT
-nwGtpv2cTrxnStartDulpicateRequestWaitTimer(NwGtpv2cTrxnT* thiz)
-{
- NwRcT rc;
-
- rc = nwGtpv2cStartTimer(thiz->pStack, thiz->t3Timer * thiz->maxRetries, 0, NW_GTPV2C_TMR_TYPE_ONE_SHOT, nwGtpv2cTrxnDuplicateRequestWaitTimeout, thiz, &thiz->hRspTmr);
-
- return rc;
-}
-
-/**
- Send timer stop request to TmrMgr Entity.
-
- @param[in] thiz : Pointer to transaction
- @return NW_OK on success.
- */
-
-static NwRcT
-nwGtpv2cTrxnStopPeerRspTimer(NwGtpv2cTrxnT* thiz)
-{
- NwRcT rc;
-
- NW_ASSERT(thiz->pStack->tmrMgr.tmrStopCallback != NULL);
-
- rc = nwGtpv2cStopTimer(thiz->pStack, thiz->hRspTmr);
- thiz->hRspTmr = 0;
-
- return rc;
-}
-
-/*--------------------------------------------------------------------------*
- * P U B L I C F U N C T I O N S *
- *--------------------------------------------------------------------------*/
-
-/**
- * Constructor
- *
- * @param[in] thiz : Pointer to stack
- * @param[out] ppTrxn : Pointer to pointer to Trxn object.
- * @return NW_OK on success.
- */
-NwGtpv2cTrxnT*
-nwGtpv2cTrxnNew( NW_IN NwGtpv2cStackT* thiz)
-{
- NwGtpv2cTrxnT *pTrxn;
-
- if(gpGtpv2cTrxnPool) {
- pTrxn = gpGtpv2cTrxnPool;
- gpGtpv2cTrxnPool = gpGtpv2cTrxnPool->next;
- } else {
- NW_GTPV2C_MALLOC(thiz, sizeof(NwGtpv2cTrxnT), pTrxn, NwGtpv2cTrxnT*);
- }
-
- if (pTrxn) {
- pTrxn->pStack = thiz;
- pTrxn->pMsg = NULL;
- pTrxn->maxRetries = 2;
- pTrxn->t3Timer = 2;
- pTrxn->seqNum = thiz->seqNum;
-
- /* Increment sequence number */
- thiz->seqNum++;
-
- if(thiz->seqNum == 0x800000)
- thiz->seqNum = 0;
-
- }
-
- NW_LOG(thiz, NW_LOG_LEVEL_DEBG, "Created transaction 0x%p", pTrxn);
-
- return pTrxn;
-}
-
-/**
- * Overloaded Constructor
- *
- * @param[in] thiz : Pointer to stack.
- * @param[in] seqNum : Sequence number for this transaction.
- * @return Pointer to Trxn object.
- */
-NwGtpv2cTrxnT*
-nwGtpv2cTrxnWithSeqNumNew( NW_IN NwGtpv2cStackT* thiz,
- NW_IN uint32_t seqNum)
-{
- NwGtpv2cTrxnT *pTrxn;
-
- if(gpGtpv2cTrxnPool) {
- pTrxn = gpGtpv2cTrxnPool;
- gpGtpv2cTrxnPool = gpGtpv2cTrxnPool->next;
- } else {
- NW_GTPV2C_MALLOC(thiz, sizeof(NwGtpv2cTrxnT), pTrxn, NwGtpv2cTrxnT*);
- }
-
- if (pTrxn) {
- pTrxn->pStack = thiz;
- pTrxn->pMsg = NULL;
- pTrxn->maxRetries = 2;
- pTrxn->t3Timer = 2;
- pTrxn->seqNum = seqNum;
- pTrxn->pMsg = NULL;
- }
-
- NW_LOG(thiz, NW_LOG_LEVEL_ERRO, "Created transaction 0x%p", pTrxn);
-
- return pTrxn;
-}
-
-/**
- * Another overloaded constructor. Create transaction as outstanding
- * RX transaction for detecting duplicated requests.
- *
- * @param[in] thiz : Pointer to stack.
- * @param[in] teidLocal : Trxn teid.
- * @param[in] peerIp : Peer Ip address.
- * @param[in] peerPort : Peer Ip port.
- * @param[in] seqNum : Seq Number.
- * @return NW_OK on success.
- */
-
-NwGtpv2cTrxnT*
-nwGtpv2cTrxnOutstandingRxNew( NW_IN NwGtpv2cStackT* thiz,
- NW_IN uint32_t teidLocal,
- NW_IN uint32_t peerIp,
- NW_IN uint32_t peerPort,
- NW_IN uint32_t seqNum)
-{
- NwRcT rc;
- NwGtpv2cTrxnT *pTrxn, *pCollision;
-
- if(gpGtpv2cTrxnPool) {
- pTrxn = gpGtpv2cTrxnPool;
- gpGtpv2cTrxnPool = gpGtpv2cTrxnPool->next;
- } else {
- NW_GTPV2C_MALLOC(thiz, sizeof(NwGtpv2cTrxnT), pTrxn, NwGtpv2cTrxnT*);
- }
-
- if (pTrxn) {
- pTrxn->pStack = thiz;
- pTrxn->maxRetries = 2;
- pTrxn->t3Timer = 2;
- pTrxn->seqNum = seqNum;
- pTrxn->peerIp = peerIp;
- pTrxn->peerPort = peerPort;
- pTrxn->pMsg = NULL;
- pTrxn->hRspTmr = 0;
-
- pCollision = RB_INSERT(NwGtpv2cOutstandingRxSeqNumTrxnMap, &(thiz->outstandingRxSeqNumMap), pTrxn);
-
- if(pCollision) {
- NW_LOG(thiz, NW_LOG_LEVEL_WARN, "Duplicate request message received for seq num 0x%x!",
- (uint32_t) seqNum);
-
- /* Case of duplicate request message from peer. Retransmit response. */
- if(pCollision->pMsg) {
- rc = pCollision->pStack->udp.udpDataReqCallback(pCollision->pStack->udp.hUdp,
- pCollision->pMsg->msgBuf,
- pCollision->pMsg->msgLen,
- pCollision->peerIp,
- pCollision->peerPort);
- }
-
- rc = nwGtpv2cTrxnDelete(&pTrxn);
- NW_ASSERT(NW_OK == rc);
- pTrxn = NULL;
- }
- }
-
- if(pTrxn)
- NW_LOG(thiz, NW_LOG_LEVEL_DEBG, "Created outstanding RX transaction 0x%p",
- pTrxn);
-
- return (pTrxn);
-}
-
-/**
- * Destructor
- *
- * @param[out] pthiz : Pointer to pointer to Trxn object.
- * @return NW_OK on success.
- */
-NwRcT
-nwGtpv2cTrxnDelete( NW_INOUT NwGtpv2cTrxnT **pthiz)
-{
- NwRcT rc = NW_OK;
- NwGtpv2cStackT* pStack;
- NwGtpv2cTrxnT *thiz = *pthiz;
-
- pStack = thiz->pStack;
-
- if(thiz->hRspTmr) {
- rc = nwGtpv2cTrxnStopPeerRspTimer(thiz);
- NW_ASSERT(NW_OK == rc);
- }
-
- if(thiz->pMsg) {
- rc = nwGtpv2cMsgDelete((NwGtpv2cStackHandleT)pStack, (NwGtpv2cMsgHandleT)thiz->pMsg);
- NW_ASSERT(NW_OK == rc);
- }
-
- NW_LOG(pStack, NW_LOG_LEVEL_DEBG, "Purging transaction 0x%p", thiz);
-
- thiz->next = gpGtpv2cTrxnPool;
- gpGtpv2cTrxnPool = thiz;
-
- *pthiz = NULL;
- return rc;
-}
-
-#ifdef __cplusplus
-}
-#endif
-
-/*--------------------------------------------------------------------------*
- * E N D O F F I L E *
- *--------------------------------------------------------------------------*/
-
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/src/NwGtpv2cTunnel.c b/openair-cn/GTPV2-C/nwgtpv2c-0.11/src/NwGtpv2cTunnel.c
deleted file mode 100644
index 865d2c155a..0000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/src/NwGtpv2cTunnel.c
+++ /dev/null
@@ -1,95 +0,0 @@
-/*----------------------------------------------------------------------------*
- * *
- * n w - g t p v 2 c *
- * G P R S T u n n e l i n g P r o t o c o l v 2 c S t a c k *
- * *
- * *
- * Copyright (c) 2010-2011 Amit Chawre *
- * All rights reserved. *
- * *
- * Redistribution and use in source and binary forms, with or without *
- * modification, are permitted provided that the following conditions *
- * are met: *
- * *
- * 1. Redistributions of source code must retain the above copyright *
- * notice, this list of conditions and the following disclaimer. *
- * 2. Redistributions in binary form must reproduce the above copyright *
- * notice, this list of conditions and the following disclaimer in the *
- * documentation and/or other materials provided with the distribution. *
- * 3. The name of the author may not be used to endorse or promote products *
- * derived from this software without specific prior written permission. *
- * *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR *
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES *
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. *
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, *
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT *
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, *
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY *
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF *
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *
- *----------------------------------------------------------------------------*/
-
-#include
-#include
-#include
-
-#include "NwTypes.h"
-#include "NwUtils.h"
-#include "NwError.h"
-#include "NwGtpv2cPrivate.h"
-#include "NwGtpv2cTunnel.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-static NwGtpv2cTunnelT* gpGtpv2cTunnelPool = NULL;
-
-NwGtpv2cTunnelT*
-nwGtpv2cTunnelNew(struct NwGtpv2cStack *pStack, uint32_t teid, uint32_t ipv4AddrRemote, NwGtpv2cUlpTunnelHandleT hUlpTunnel)
-{
- NwGtpv2cTunnelT* thiz;
-
- if(gpGtpv2cTunnelPool) {
- thiz = gpGtpv2cTunnelPool;
- gpGtpv2cTunnelPool = gpGtpv2cTunnelPool->next;
- } else {
- NW_GTPV2C_MALLOC(pStack, sizeof(NwGtpv2cTunnelT), thiz, NwGtpv2cTunnelT*);
- }
-
- if(thiz) {
- memset(thiz, 0, sizeof(NwGtpv2cTunnelT));
- thiz->teid = teid;
- thiz->ipv4AddrRemote = ipv4AddrRemote;
- thiz->hUlpTunnel = hUlpTunnel;
- }
-
- return thiz;
-}
-
-NwRcT
-nwGtpv2cTunnelDelete(struct NwGtpv2cStack *pStack, NwGtpv2cTunnelT* thiz)
-{
- thiz->next = gpGtpv2cTunnelPool;
- gpGtpv2cTunnelPool = thiz;
-
- return NW_OK;
-}
-
-NwRcT
-nwGtpv2cTunnelGetUlpTunnelHandle( NwGtpv2cTunnelT* thiz, NwGtpv2cUlpTunnelHandleT* phUlpTunnel)
-{
- *phUlpTunnel = (thiz? thiz->hUlpTunnel : 0x00000000);
- return NW_OK;
-}
-
-#ifdef __cplusplus
-}
-#endif
-
-/*--------------------------------------------------------------------------*
- * E N D O F F I L E *
- *--------------------------------------------------------------------------*/
-
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/Makefile.am b/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/Makefile.am
deleted file mode 100644
index da32172d9a..0000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/Makefile.am
+++ /dev/null
@@ -1,6 +0,0 @@
-# this is example-file: Makefile.am
-
-# the subdirectories of the project to go into
-SUBDIRS = \
- nw-egtping\
- nw-helloworld
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-egtping/Makefile.am b/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-egtping/Makefile.am
deleted file mode 100644
index 3674445989..0000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-egtping/Makefile.am
+++ /dev/null
@@ -1,24 +0,0 @@
-AM_CFLAGS = -D__WITH_LIBEVENT__ \
- -I$(top_srcdir)/shared \
- -I$(top_srcdir)/include \
- -I$(top_srcdir)/test-app/nw-udp \
- -I$(top_srcdir)/test-app/nw-log \
- @AM_CFLAGS@
-
-if ENABLE_TESTS_APP
-bin_PROGRAMS = egtping
-
-egtping_SOURCES = \
- NwEvt.h\
- NwMiniLogMgrEntity.h\
- NwMiniTmrMgrEntity.h\
- NwMiniUlpEntity.h\
- NwMiniUdpEntity.h\
- NwMiniLogMgrEntity.c\
- NwMiniTmrMgrEntity.c\
- NwMiniUlpEntity.c\
- NwMiniUdpEntity.c\
- NwEgtPingMain.c
-
-egtping_LDADD = $(top_builddir)/src/libNwGtpv2c.a -levent $(AM_LDFLAGS)
-endif
\ No newline at end of file
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-egtping/NwEgtPingMain.c b/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-egtping/NwEgtPingMain.c
deleted file mode 100644
index a346ab1faf..0000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-egtping/NwEgtPingMain.c
+++ /dev/null
@@ -1,280 +0,0 @@
-/*----------------------------------------------------------------------------*
- * Copyright (C) 2010 Amit Chawre. *
- *----------------------------------------------------------------------------*/
-
-
-/**
- * @file NwEgtPingMain.c
- * @brief This is a program demostrating usage of nw-gtpv2c library for eGTP ping.
-*/
-
-#include
-#include
-#include
-#include
-#include "NwEvt.h"
-#include "NwLog.h"
-#include "NwGtpv2c.h"
-
-#include "NwMiniLogMgrEntity.h"
-#include "NwMiniTmrMgrEntity.h"
-#include "NwMiniUdpEntity.h"
-#include "NwMiniUlpEntity.h"
-
-#ifndef NW_ASSERT
-#define NW_ASSERT assert
-#endif
-
-static
-NwCharT* gLogLevelStr[] = {"EMER", "ALER", "CRIT", "ERRO", "WARN", "NOTI", "INFO", "DEBG"};
-
-
-typedef struct NwEgtPingS {
- uint8_t localIpStr[20];
- uint8_t targetIpStr[20];
- uint32_t pingInterval;
- uint32_t pingCount;
- NwGtpv2cNodeUlpT ulpObj;
- NwGtpv2cNodeUdpT udpObj;
-} NwEgtPingT;
-
-static NwGtpv2cNodeUlpT ulpObj;
-static NwGtpv2cNodeUdpT udpObj;
-
-static NwEgtPingT egtPing;
-
-void nwEgtPingHandleSignal(int sigNum)
-{
- printf("\n--- %s ("NW_IPV4_ADDR") EGTPING statistics --- ", egtPing.targetIpStr, NW_IPV4_ADDR_FORMAT(inet_addr(egtPing.targetIpStr)));
- printf("\n%u requests sent, %u response received, %d%% packet loss \n\n", udpObj.packetsSent, udpObj.packetsRcvd,
- (udpObj.packetsSent ? 100 * (udpObj.packetsSent - udpObj.packetsRcvd ) / udpObj.packetsSent : 0) );
- exit(sigNum);
-}
-
-NwRcT
-nwEgtPingHelp()
-{
- printf("Usage: egtping [-i interval] [-c count] [-l local-ip] ");
- printf("\n [-t3 t3-time] [-n3 n3-count] destination");
- printf("\n");
- printf("\n -i : Interval between two echo request messages. (Default: 1 sec)");
- printf("\n -c : Stop after sending count pings. (Default: Infinite)");
- printf("\n -t : GTP T3 timeout value. (Default: 2 sec)");
- printf("\n -n : GTP N3 count value. (Default: 2 sec)");
- printf("\n -l : Local IP adddress to use. (Default: All local IPs)");
- printf("\n -h : Show this message.");
- printf("\n");
- printf("\n");
-}
-
-NwRcT
-nwEgtPingParseCmdLineOpts(int argc, char* argv[])
-{
- NwRcT rc = NW_OK;
- int i = 0;
- i++;
-
- egtPing.pingInterval = 1;
- egtPing.pingCount = 0xffffffff;
-
- if(argc < 2)
- return NW_FAILURE;
-
- if( (argc == 2) &&
- ((strcmp("--help", argv[i]) == 0)
- || (strcmp(argv[i], "-h") == 0)))
- return NW_FAILURE;
-
- while( i < argc - 1) {
- NW_LOG(NW_LOG_LEVEL_DEBG, "Processing cmdline arg %s", argv[i]);
-
- if((strcmp("--local-ip", argv[i]) == 0)
- || (strcmp(argv[i], "-l") == 0)) {
- i++;
-
- if(i >= (argc - 1))
- return NW_FAILURE;
-
- strcpy(egtPing.localIpStr, (argv[i]));
-
- } else if((strcmp("--interval", argv[i]) == 0)
- || (strcmp(argv[i], "-i") == 0)) {
- i++;
-
- if(i >= (argc - 1))
- return NW_FAILURE;
-
- egtPing.pingInterval = atoi(argv[i]);
-
- } else if((strcmp("--count", argv[i]) == 0)
- || (strcmp(argv[i], "-c") == 0)) {
- i++;
-
- if(i >= (argc - 1))
- return NW_FAILURE;
-
- egtPing.pingCount = atoi(argv[i]);
- } else if((strcmp("--help", argv[i]) == 0)
- || (strcmp(argv[i], "-h") == 0)) {
- rc = NW_FAILURE;
- } else {
- return NW_FAILURE;
- }
-
- i++;
- }
-
- strcpy(egtPing.targetIpStr, (argv[i]));
-
- return rc;
-}
-
-/*---------------------------------------------------------------------------
- * T H E M A I N F U N C T I O N
- *--------------------------------------------------------------------------*/
-
-int main(int argc, char* argv[])
-{
- NwRcT rc;
- uint32_t logLevel;
- uint8_t* logLevelStr;
-
- NwGtpv2cStackHandleT hGtpv2cStack = 0;
-
- NwGtpv2cUlpEntityT ulp;
- NwGtpv2cUdpEntityT udp;
- NwGtpv2cTimerMgrEntityT tmrMgr;
- NwGtpv2cLogMgrEntityT logMgr;
-
- printf("EGTPING 0.1, Copyright (C) 2011 Amit Chawre.\n");
- rc = nwEgtPingParseCmdLineOpts(argc, argv);
-
- if(rc != NW_OK) {
- rc = nwEgtPingHelp();
- exit(rc);
- }
-
- logLevelStr = getenv ("NW_LOG_LEVEL");
-
- if(logLevelStr == NULL) {
- logLevel = NW_LOG_LEVEL_INFO;
- } else {
- if(strncmp(logLevelStr, "EMER",4) == 0)
- logLevel = NW_LOG_LEVEL_EMER;
- else if(strncmp(logLevelStr, "ALER",4) == 0)
- logLevel = NW_LOG_LEVEL_ALER;
- else if(strncmp(logLevelStr, "CRIT",4) == 0)
- logLevel = NW_LOG_LEVEL_CRIT;
- else if(strncmp(logLevelStr, "ERRO",4) == 0)
- logLevel = NW_LOG_LEVEL_ERRO ;
- else if(strncmp(logLevelStr, "WARN",4) == 0)
- logLevel = NW_LOG_LEVEL_WARN;
- else if(strncmp(logLevelStr, "NOTI",4) == 0)
- logLevel = NW_LOG_LEVEL_NOTI;
- else if(strncmp(logLevelStr, "INFO",4) == 0)
- logLevel = NW_LOG_LEVEL_INFO;
- else if(strncmp(logLevelStr, "DEBG",4) == 0)
- logLevel = NW_LOG_LEVEL_DEBG;
- }
-
- /*---------------------------------------------------------------------------
- * Initialize event library
- *--------------------------------------------------------------------------*/
-
- NW_EVT_INIT();
-
- /*---------------------------------------------------------------------------
- * Initialize Log Manager
- *--------------------------------------------------------------------------*/
- nwMiniLogMgrInit(nwMiniLogMgrGetInstance(), logLevel);
-
- /*---------------------------------------------------------------------------
- * Initialize Gtpv2c Stack Instance
- *--------------------------------------------------------------------------*/
- rc = nwGtpv2cInitialize(&hGtpv2cStack);
-
- if(rc != NW_OK) {
- NW_LOG(NW_LOG_LEVEL_ERRO, "Failed to create gtpv2c stack instance. Error '%u' occured", rc);
- exit(1);
- }
-
- rc = nwGtpv2cSetLogLevel(hGtpv2cStack, logLevel);
-
- /*---------------------------------------------------------------------------
- * Set up Ulp Entity
- *--------------------------------------------------------------------------*/
- rc = nwGtpv2cUlpInit(&ulpObj, hGtpv2cStack, egtPing.localIpStr);
- NW_ASSERT(NW_OK == rc);
-
- ulp.hUlp = (NwGtpv2cUlpHandleT) &ulpObj;
- ulp.ulpReqCallback = nwGtpv2cUlpProcessStackReqCallback;
-
- rc = nwGtpv2cSetUlpEntity(hGtpv2cStack, &ulp);
- NW_ASSERT(NW_OK == rc);
-
- /*---------------------------------------------------------------------------
- * Set up Udp Entity
- *--------------------------------------------------------------------------*/
- rc = nwGtpv2cUdpInit(&udpObj, hGtpv2cStack, egtPing.localIpStr);
- NW_ASSERT(NW_OK == rc);
-
- udp.hUdp = (NwGtpv2cUdpHandleT) &udpObj;
- udp.udpDataReqCallback = nwGtpv2cUdpDataReq;
-
- rc = nwGtpv2cSetUdpEntity(hGtpv2cStack, &udp);
- NW_ASSERT(NW_OK == rc);
-
- /*---------------------------------------------------------------------------
- * Set up Log Entity
- *--------------------------------------------------------------------------*/
- tmrMgr.tmrMgrHandle = 0;
- tmrMgr.tmrStartCallback = nwTimerStart;
- tmrMgr.tmrStopCallback = nwTimerStop;
-
- rc = nwGtpv2cSetTimerMgrEntity(hGtpv2cStack, &tmrMgr);
- NW_ASSERT(NW_OK == rc);
-
- /*---------------------------------------------------------------------------
- * Set up Log Entity
- *--------------------------------------------------------------------------*/
- logMgr.logMgrHandle = (NwGtpv2cLogMgrHandleT) nwMiniLogMgrGetInstance();
- logMgr.logReqCallback = nwMiniLogMgrLogRequest;
-
- rc = nwGtpv2cSetLogMgrEntity(hGtpv2cStack, &logMgr);
- NW_ASSERT(NW_OK == rc);
-
- /*---------------------------------------------------------------------------
- * Send Message Request to Gtpv2c Stack Instance
- *--------------------------------------------------------------------------*/
- NW_LOG(NW_LOG_LEVEL_NOTI, "EGTPING %s ("NW_IPV4_ADDR")", egtPing.targetIpStr, NW_IPV4_ADDR_FORMAT(inet_addr(egtPing.targetIpStr)));
- rc = nwGtpv2cUlpPing(&ulpObj,
- inet_addr(egtPing.targetIpStr),
- egtPing.pingCount,
- egtPing.pingInterval,
- 2,
- 3);
- NW_ASSERT(NW_OK == rc);
-
- /*---------------------------------------------------------------------------
- * Install signal handler
- *--------------------------------------------------------------------------*/
- signal(SIGINT, nwEgtPingHandleSignal);
-
- /*---------------------------------------------------------------------------
- * Event loop
- *--------------------------------------------------------------------------*/
-
- NW_EVT_LOOP();
- NW_LOG(NW_LOG_LEVEL_ERRO, "Exit from eventloop, no events to process!");
-
- /*---------------------------------------------------------------------------
- * Destroy Gtpv2c Stack Instance
- *--------------------------------------------------------------------------*/
- rc = nwGtpv2cFinalize(hGtpv2cStack);
-
- if(rc != NW_OK) {
- NW_LOG(NW_LOG_LEVEL_ERRO, "Failed to finalize gtpv2c stack instance. Error '%u' occured", rc);
- }
-
- return rc;
-}
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-egtping/NwEvt.h b/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-egtping/NwEvt.h
deleted file mode 100644
index 6df5794a5f..0000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-egtping/NwEvt.h
+++ /dev/null
@@ -1,80 +0,0 @@
-/*----------------------------------------------------------------------------*
- * *
- * Copyright (c) 2010-2011 Amit Chawre *
- * All rights reserved. *
- * *
- * Redistribution and use in source and binary forms, with or without *
- * modification, are permitted provided that the following conditions *
- * are met: *
- * *
- * 1. Redistributions of source code must retain the above copyright *
- * notice, this list of conditions and the following disclaimer. *
- * 2. Redistributions in binary form must reproduce the above copyright *
- * notice, this list of conditions and the following disclaimer in the *
- * documentation and/or other materials provided with the distribution. *
- * 3. The name of the author may not be used to endorse or promote products *
- * derived from this software without specific prior written permission. *
- * *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR *
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES *
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. *
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, *
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT *
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, *
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY *
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF *
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *
- *----------------------------------------------------------------------------*/
-
-#ifndef __NW_EVT_H__
-#define __NW_EVT_H__
-/**
- * @file NwEvt.h
- * @brief
-*/
-
-#ifdef __WITH_LIBEVENT__
-
-#include
-
-typedef struct event NwEventT;
-
-#define NW_EVT_READ (EV_READ)
-#define NW_EVT_PERSIST (EV_PERSIST)
-#define NW_EVT_CALLBACK(__cbFunc) __cbFunc(int fd, short event, void *arg)
-#define NW_TMR_CALLBACK(__cbFunc) __cbFunc(int fd, short event, void *arg)
-
-#define NW_EVT_INIT event_init
-#define NW_EVT_LOOP event_dispatch
-
-#define NW_EVENT_ADD(__ev, __evSelObj, __evCallback, __evCallbackArg, __evFlags) \
- do { \
- event_set(&(__ev), __evSelObj, __evFlags, __evCallback, __evCallbackArg); \
- event_add(&(__ev), NULL); \
- } while(0)
-
-#else
-
-#warning "Event library not defined!"
-
-/* HACK : Defining dummy values for compilation!*/
-
-typedef struct {
- int __tbd;
-} NwEventT;
-
-#define NW_EVT_READ (0)
-#define NW_EVT_PERSIST (1)
-#define NW_EVT_CALLBACK(__cbFunc) __cbFunc(void *arg)
-#define NW_TMR_CALLBACK(__cbFunc) __cbFunc(void *arg)
-
-
-#define NW_EVT_INIT() do { printf("error: Event library not defined!\n"); exit (0); } while(0)
-#define NW_EVT_LOOP() do { printf("error: Event library not defined!\n"); exit (0); } while(0)
-#define NW_EVENT_ADD(...) do { printf("error: Event library not defined!\n"); exit (0); } while(0)
-
-
-#endif
-
-#endif /* __NW_EVT_H__ */
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-egtping/NwMiniLogMgrEntity.c b/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-egtping/NwMiniLogMgrEntity.c
deleted file mode 100644
index 585f7fa7c7..0000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-egtping/NwMiniLogMgrEntity.c
+++ /dev/null
@@ -1,70 +0,0 @@
-/*----------------------------------------------------------------------------*
- * *
- * M I N I M A L I S T I C L O G M G R E N T I T Y *
- * *
- * Copyright (C) 2010 Amit Chawre. *
- * *
- *----------------------------------------------------------------------------*/
-
-/**
- * @file hello-world.c
- * @brief This file contains example of a minimalistic log manager entity.
-*/
-
-#include
-#include
-#include "NwEvt.h"
-#include "NwTypes.h"
-#include "NwError.h"
-#include "NwLog.h"
-#include "NwGtpv2c.h"
-
-#include "NwMiniLogMgrEntity.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-static
-NwCharT* gLogLevelStr[] = {"EMER", "ALER", "CRIT", "ERRO", "WARN", "NOTI", "INFO", "DEBG"};
-
-NwMiniLogMgrT __gLogMgr;
-
-
-/*---------------------------------------------------------------------------
- * Public functions
- *--------------------------------------------------------------------------*/
-
-NwMiniLogMgrT* nwMiniLogMgrGetInstance()
-{
- return &(__gLogMgr);
-}
-
-NwRcT nwMiniLogMgrInit(NwMiniLogMgrT* thiz, uint32_t logLevel )
-{
- thiz->logLevel = logLevel;
- return NW_OK;
-}
-
-NwRcT nwMiniLogMgrSetLogLevel(NwMiniLogMgrT* thiz, uint32_t logLevel)
-{
- thiz->logLevel = logLevel;
-}
-
-NwRcT nwMiniLogMgrLogRequest (NwGtpv2cLogMgrHandleT hLogMgr,
- uint32_t logLevel,
- NwCharT* file,
- uint32_t line,
- NwCharT* logStr)
-{
- NwMiniLogMgrT* thiz = (NwMiniLogMgrT*) hLogMgr;
-
- if(thiz->logLevel >= logLevel)
- //printf("NWEGTPSTK %s - %s <%s,%u>\n", gLogLevelStr[logLevel], logStr, basename(file), line);
- return NW_OK;
-}
-
-#ifdef __cplusplus
-}
-#endif
-
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-egtping/NwMiniLogMgrEntity.h b/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-egtping/NwMiniLogMgrEntity.h
deleted file mode 100644
index 3f37dec409..0000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-egtping/NwMiniLogMgrEntity.h
+++ /dev/null
@@ -1,89 +0,0 @@
-/*----------------------------------------------------------------------------*
- * *
- * M I N I M A L I S T I C L O G M G R E N T I T Y *
- * *
- * Copyright (C) 2010 Amit Chawre. *
- * *
- *----------------------------------------------------------------------------*/
-
-/**
- * @file hello-world.c
- * @brief This file contains example of a minimalistic log manager entity.
-*/
-
-#include
-#include
-#include "NwEvt.h"
-#include "NwLog.h"
-
-#ifndef NW_ASSERT
-#define NW_ASSERT assert
-#endif
-
-#ifndef __NW_MINI_LOG_MGR_H__
-#define __NW_MINI_LOG_MGR_H__
-
-#define NW_LOG( _logLevel, ...) \
- do { \
- if((nwMiniLogMgrGetInstance())->logLevel >= _logLevel) \
- { \
- char _logStr[1024]; \
- snprintf(_logStr, 1024, __VA_ARGS__); \
- printf("%s \n", _logStr);\
- } \
- } while(0)
-
-/**
- * MiniLogMgr Class Definition
- */
-typedef struct NwMiniLogMgr {
- uint8_t logLevel; /*< Log level */
-} NwMiniLogMgrT;
-
-
-/*---------------------------------------------------------------------------
- * Public functions
- *--------------------------------------------------------------------------*/
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * Get global singleton MiniLogMgr instance
- */
-NwMiniLogMgrT* nwMiniLogMgrGetInstance();
-
-/**
- * Initialize MiniLogMgr
- * @param thiz : Pointer to global singleton MiniLogMgr instance
- * @param logLevel : Log Level
- */
-NwRcT nwMiniLogMgrInit(NwMiniLogMgrT* thiz, uint32_t logLevel );
-
-/**
- * Set MiniLogMgr log level
- * @param thiz : Pointer to global singleton MiniLogMgr instance
- * @param logLevel : Log Level
- */
-NwRcT nwMiniLogMgrSetLogLevel(NwMiniLogMgrT* thiz, uint32_t logLevel);
-
-/**
- * Process log request from stack
- * @param thiz : Pointer to global singleton MiniLogMgr instance
- * @param logLevel : Log Level
- * @param file : Filename
- * @param line : Line Number
- * @param logStr : Log string
- */
-NwRcT nwMiniLogMgrLogRequest (NwGtpv2cLogMgrHandleT logMgrHandle,
- uint32_t logLevel,
- NwCharT* file,
- uint32_t line,
- NwCharT* logStr);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-egtping/NwMiniTmrMgrEntity.c b/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-egtping/NwMiniTmrMgrEntity.c
deleted file mode 100644
index 7b5553aa6b..0000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-egtping/NwMiniTmrMgrEntity.c
+++ /dev/null
@@ -1,97 +0,0 @@
-/*----------------------------------------------------------------------------*
- * *
- * M I N I M A L I S T I C T M R M G R E N T I T Y *
- * *
- * Copyright (C) 2010 Amit Chawre. *
- * *
- *----------------------------------------------------------------------------*/
-
-/**
- * @file NwMiniTmrMgrEntity.c
- * @brief This file ontains example of a minimalistic timer manager entity.
-*/
-
-#include
-#include
-#include "NwEvt.h"
-#include "NwGtpv2c.h"
-#include "NwMiniLogMgrEntity.h"
-#include "NwMiniTmrMgrEntity.h"
-
-#ifndef NW_ASSERT
-#define NW_ASSERT assert
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-static
-NwCharT* gLogLevelStr[] = {"EMER", "ALER", "CRIT", "ERRO", "WARN", "NOTI", "INFO", "DEBG"};
-
-/*---------------------------------------------------------------------------
- * Private functions
- *--------------------------------------------------------------------------*/
-
-static void
-NW_TMR_CALLBACK(nwGtpv2cNodeHandleStackTimerTimeout)
-{
- NwRcT rc;
- NwGtpv2cNodeTmrT *pTmr = (NwGtpv2cNodeTmrT*) arg;
-
- /*
- * Send Timeout Request to Gtpv2c Stack Instance
- */
- rc = nwGtpv2cProcessTimeout(pTmr->timeoutArg);
- NW_ASSERT(NW_OK == rc);
-
- free(pTmr);
-
- return;
-}
-
-/*---------------------------------------------------------------------------
- * Public functions
- *--------------------------------------------------------------------------*/
-
-NwRcT nwTimerStart( NwGtpv2cTimerMgrHandleT tmrMgrHandle,
- uint32_t timeoutSec,
- uint32_t timeoutUsec,
- uint32_t tmrType,
- void* timeoutArg,
- NwGtpv2cTimerHandleT* hTmr)
-{
- NwRcT rc = NW_OK;
- NwGtpv2cNodeTmrT *pTmr;
- struct timeval tv;
-
- pTmr = (NwGtpv2cNodeTmrT*) malloc(sizeof(NwGtpv2cNodeTmrT));
-
- /* set the timevalues*/
- timerclear(&tv);
- tv.tv_sec = timeoutSec;
- tv.tv_usec = timeoutUsec;
-
- pTmr->timeoutArg = timeoutArg;
- evtimer_set(&pTmr->ev, nwGtpv2cNodeHandleStackTimerTimeout, pTmr);
-
- /*add event*/
-
- event_add(&(pTmr->ev), &tv);
-
- *hTmr = (NwGtpv2cTimerHandleT)pTmr;
-
- return rc;
-}
-
-NwRcT nwTimerStop( NwGtpv2cTimerMgrHandleT tmrMgrHandle,
- NwGtpv2cTimerHandleT hTmr)
-{
- evtimer_del(&(((NwGtpv2cNodeTmrT*)hTmr)->ev));
- free((void*)hTmr);
- return NW_OK;
-}
-
-#ifdef __cplusplus
-}
-#endif
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-egtping/NwMiniTmrMgrEntity.h b/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-egtping/NwMiniTmrMgrEntity.h
deleted file mode 100644
index 85970c6cc2..0000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-egtping/NwMiniTmrMgrEntity.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/*----------------------------------------------------------------------------*
- * *
- * M I N I M A L I S T I C T M R M G R E N T I T Y *
- * *
- * Copyright (C) 2010 Amit Chawre. *
- * *
- *----------------------------------------------------------------------------*/
-
-
-/**
- * @file NwMiniTmrMgrEntity.c
- * @brief This file ontains example of a minimalistic timer manager entity.
-*/
-
-#include
-#include
-#include "NwEvt.h"
-#include "NwLog.h"
-
-#ifndef NW_ASSERT
-#define NW_ASSERT assert
-#endif
-
-#ifndef __NW_MINI_TMR_MGR_H__
-#define __NW_MINI_TMR_MGR_H__
-
-typedef struct {
- uint8_t _tbd;
-} NwGtpv2cNodeTmrMgrT;
-
-typedef struct {
- NwEventT ev;
- void* timeoutArg;
-} NwGtpv2cNodeTmrT;
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-NwRcT nwTimerStart( NwGtpv2cTimerMgrHandleT tmrMgrHandle,
- uint32_t timeoutSec,
- uint32_t timeoutUsec,
- uint32_t tmrType,
- void* timeoutArg,
- NwGtpv2cTimerHandleT* hTmr);
-
-
-NwRcT nwTimerStop( NwGtpv2cTimerMgrHandleT tmrMgrHandle,
- NwGtpv2cTimerHandleT hTmr);
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-egtping/NwMiniUdpEntity.c b/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-egtping/NwMiniUdpEntity.c
deleted file mode 100644
index 16f5f2bcea..0000000000
--- a/openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-egtping/NwMiniUdpEntity.c
+++ /dev/null
@@ -1,218 +0,0 @@
-/*----------------------------------------------------------------------------*
- * *
- * M I N I M A L I S T I C U D P E N T I T Y *
- * *
- * Copyright (C) 2010 Amit Chawre. *
- * *
- *----------------------------------------------------------------------------*/
-
-
-/**
- * @file NwMiniUdpEntity.c
- * @brief This file contains example of a minimalistic ULP entity.
-*/
-
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include