From e0f7c543b75198a13bb587296333fa3d18425d5f Mon Sep 17 00:00:00 2001 From: Alexander Couzens Date: Sun, 13 Sep 2020 17:25:18 +0200 Subject: NS_Emulation: remove dependency on PCUIF_Types The dependency of PCUIF_Types creates also a dependency on Replace the PCU_AddrType by an unix like address family defined in the Osmocom_Types to reduce the dependency. Change-Id: I0b4fda96accef401ffc009010f9f5621583fd6dd --- library/NS_Emulation.ttcn | 4 ++-- library/Osmocom_Types.ttcn | 7 +++++++ library/PCUIF_Types.ttcn | 11 +++++++++++ 3 files changed, 20 insertions(+), 2 deletions(-) (limited to 'library') diff --git a/library/NS_Emulation.ttcn b/library/NS_Emulation.ttcn index b8807da5..0198da87 100644 --- a/library/NS_Emulation.ttcn +++ b/library/NS_Emulation.ttcn @@ -14,8 +14,8 @@ module NS_Emulation { import from BSSGP_Types all; import from Osmocom_Gb_Types all; import from NS_Provider_IPL4 all; + import from Osmocom_Types all; import from IPL4asp_Types all; - import from PCUIF_Types all; type record NsUnitdataRequest { BssgpBvci bvci, @@ -132,7 +132,7 @@ module NS_Emulation { } type record NSConfiguration { - PCUIF_AddrType remote_proto, + AddressFamily address_family, PortNumber local_udp_port, charstring local_ip, PortNumber remote_udp_port, diff --git a/library/Osmocom_Types.ttcn b/library/Osmocom_Types.ttcn index 1993ae12..ee3b04a5 100644 --- a/library/Osmocom_Types.ttcn +++ b/library/Osmocom_Types.ttcn @@ -49,6 +49,13 @@ type record Arfcn { uint15_t arfcn } with { variant "" }; +/* based on Linux */ +type enumerated AddressFamily { + AF_UNSPEC ('00'O), + AF_INET ('02'O), + AF_INET6 ('0a'O) +} + /* return random integer 0 <= ret < max. According to ETSI ES 201 873 C.6.1, rnd() returns *less* than 1, so * the returned int will always be ret < max, or ret <= (max-1). */ function f_rnd_int(integer max) return integer { diff --git a/library/PCUIF_Types.ttcn b/library/PCUIF_Types.ttcn index d73c32d7..079455fd 100644 --- a/library/PCUIF_Types.ttcn +++ b/library/PCUIF_Types.ttcn @@ -990,6 +990,17 @@ return bitstring { } } +function f_PCUIF_AF2addr_type(AddressFamily address_family) +return PCUIF_AddrType { + if (address_family == AF_INET) { + return PCUIF_ADDR_TYPE_IPV4; + } else if (address_family == AF_INET6) { + return PCUIF_ADDR_TYPE_IPV6; + } else { + return PCUIF_ADDR_TYPE_UNSPEC; + } +} + /* TODO: second (redundant) NSVC connection is not (yet) supported */ function f_PCUIF_ver_INFO_RemoteAddr(PCUIF_AddrType addr_type, charstring addr) -- cgit v1.2.3