94 Commits
0.3.0 ... 0.4.0

Author SHA1 Message Date
Pau Espin Pedrol
d5c0b73f00 Bump version: 0.3.0.93-65d3 → 0.4.0
Change-Id: I8a7e8830dba3193419e4854588a98d1572747344
2022-08-08 11:42:57 +02:00
Vadim Yanitskiy
65d3c505b7 libosmo-sbcap: add -no-undefined to libosmo_sbcap_la_LDFLAGS
Make sure that there is no undefined references in shared libraries.

Change-Id: Id08bbd5ba35ef3f507f60f31a0634f921ec1db65
2022-08-05 11:47:44 +00:00
Pau Espin Pedrol
13152304f7 cbsp: Store content of received Cell Id from Failed List
Change-Id: I10d2627cb5ef327fd57c22480a4e7d9a464930f0
2022-08-04 14:17:48 +02:00
Pau Espin Pedrol
40a6158e41 cbsp: Log storing of CellId info received from peers
This is already done similarly in Sbc-AP.

Change-Id: I81ad8d40c5e2b9fbc011db795993fb7f00e99692
2022-08-04 14:07:45 +02:00
Pau Espin Pedrol
d78f13c89a sbcap: Add Concurrent-Warning-Message-Indicator IE to Write-Replace-Req
3GPP TS 23.041 9.3.32 states that the IE is always present for non-ETWS
messages and never present in ETWS messages.

Related: OS#4945
Change-Id: I4a5ac56b7e6eeb85aee07ae2ddf10fa2afbbf4ef
2022-08-02 17:58:10 +02:00
Pau Espin Pedrol
28d3a53dc5 cbsp/sbcap: Fail if trying to Tx on non-connected (connecting) link
This way upper layers know right away that the message could not be
transmitted to that peer.

Change-Id: I1d2285d18ee064fd78191765e8cb833bf5ee08a4
2022-08-02 11:48:59 +02:00
Pau Espin Pedrol
caba7fc493 cbsp/sbcap: Set link fsm id with peer's name
Otherwise the id is left unset.

Change-Id: I8a6850293cbe01c66e4fb545d646d63743ddaecb
2022-08-02 11:48:59 +02:00
Pau Espin Pedrol
cb4e11f984 cbsp: Fix heap-use-after-free closing cli conn in connecting state
if conn is not in STREAM_CLI_STATE_CONNECTED state, it won't call disconnect_cb during
osmo_stream_cli_destroy(), hence the osmo-cbc pointers holding are not
nullified correctly.

"""
20220801174147247 DCBSP NOTICE ttcn3-bsc-server: Disconnected. (cbsp_link.c:101)
20220801174147247 DCBSP NOTICE ttcn3-bsc-server: Reconnecting... (cbsp_link.c:102)
20220801174147247 DLINP INFO [WAIT_RECONNECT] osmo_stream_cli_reconnect(): retrying in 5 seconds... (stream.c:287)
20220801174152235 DCBSP DEBUG CBSP-Link[0x612000002c20]{RESET_PENDING}: Timeout of T3 (fsm.c:317)
20220801174152236 DCBSP DEBUG CBSP-Link[0x612000002c20]{RESET_PENDING}: timer_cb requested termination (fsm.c:327)
20220801174152236 DCBSP DEBUG CBSP-Link[0x612000002c20]{RESET_PENDING}: Terminating (cause = OSMO_FSM_TERM_TIMEOUT) (fsm.c:332)
=================================================================
==17==ERROR: AddressSanitizer: heap-use-after-free on address 0x6180000024f0 at pc 0x7fbd28a05d01 bp 0x7ffe247352b0 sp 0x7ffe247352a8
READ of size 4 at 0x6180000024f0 thread T0
    #0 0x7fbd28a05d00 in osmo_stream_cli_close /tmp/libosmo-netif/src/stream.c:307
    #1 0x7fbd28a0a5b3 in osmo_stream_cli_destroy /tmp/libosmo-netif/src/stream.c:714
    #2 0x55c3534a0322 in cbc_cbsp_link_close /tmp/osmo-cbc/src/cbsp_link.c:356
    #3 0x55c3534a16e1 in cbsp_link_fsm_cleanup /tmp/osmo-cbc/src/cbsp_link_fsm.c:199
    #4 0x7fbd28bf5085 in _osmo_fsm_inst_term /tmp/libosmocore/src/fsm.c:947
    #5 0x7fbd28be6881 in fsm_tmr_cb /tmp/libosmocore/src/fsm.c:332
    #6 0x7fbd28bc70ab in osmo_timers_update /tmp/libosmocore/src/timer.c:269
    #7 0x7fbd28bcba5b in _osmo_select_main /tmp/libosmocore/src/select.c:394
    #8 0x7fbd28bcbb31 in osmo_select_main /tmp/libosmocore/src/select.c:438
    #9 0x55c35348bce8 in main /tmp/osmo-cbc/src/cbc_main.c:314
    #10 0x7fbd27a4cd09 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x26d09)
    #11 0x55c353488ce9 in _start (/usr/local/bin/osmo-cbc+0x68ce9)
"""

Change-Id: Ic13578e958345207892465644b5e1f28537c032d
2022-08-01 20:36:49 +02:00
Pau Espin Pedrol
a76d15048d *_smscb_peer_fsm: Immediately NACK if Tx of msg failed
This makes the smscb_message_fsm receive immediate notice that this peer
failed to deliver the message, avoiding need to wait for 10 seconds
timeout.

Change-Id: I1f3911accb327f3378d65902d53d86fb298fd528
2022-08-01 10:55:21 +02:00
Pau Espin Pedrol
20705a0877 cbsp/sbcap: Fix memleak in error condition (tx without link)
Change-Id: I95f6ab4e642529afc583b0747450b83af1e8f32e
2022-08-01 10:54:02 +02:00
Pau Espin Pedrol
041ae3246d sbcap: Fix NULL pointer dereference
Related: Coverity CID#275347
Change-Id: I9ae1cad4ce4e3fe6cfd67ac6058fb7345a3dd49e
2022-08-01 10:49:12 +02:00
Pau Espin Pedrol
e86af042fd Propagate error to caller when tx cbsp/sbcap Write-Replace-Req fails
Change-Id: Ie40c8e41c297398bbec48f7bb2c60cfdc703fa5d
2022-07-29 17:55:33 +02:00
Pau Espin Pedrol
0b8a08b698 cbc_main: Enable logging of fsm timeouts
Change-Id: I6ffbfbc8eddb3efff0b6401223b9b5563cf83b51
2022-07-29 17:55:33 +02:00
Pau Espin Pedrol
d24c3dfba0 Split smscb_peer_fsm into CBSP and SBcAP specific FSMs
This further simplifies tracking of events and simplifies and clears
code on each of the FSMs.

Change-Id: I0fd00b60cdc6bc6a088be1336d849548ca89c847
2022-07-29 14:54:26 +02:00
Pau Espin Pedrol
c190939f0c Split event list for smscb_message_fsm and smscb_peer_fsm
It really doesn't make sense to share the event list betwen those for
several reasons.
First, because ech of those FSM relate to different things:
* smscb_message_fsm: Handling/scheduling of 1 smscb towards all peers
* smscb_peer_fsm: Handling/scheduling of 1 smscb towards 1 peer.

The former has higher level interface used by the REST
API, plus some mid level interface used by smscb_peer_fsm.
The later has a mid level interface used by smscb_message_fsm to
interact, and a lower level interface used by the SBcAP/CBSP links to
talk to.

Furthermore, this makes it a lot easier understanding which events are
sent from one to another FSM.

Change-Id: I909474d1ff4ec7ed20aff0981da47074397df6cb
2022-07-29 14:49:30 +02:00
Pau Espin Pedrol
cb99991127 Introduce logging category smscb
The smscb_message_fsm is totally independent of CBSP.

Change-Id: I6e686747ddde9540ff3f765ef461bfca812615ba
2022-07-29 14:49:30 +02:00
Pau Espin Pedrol
e6e878a2fc sbcap: Improve handling of WriteReplaceWarnResponse
If cause != accepted, submit a NACK to the upper layers.
In that case, in the upper layers we don't want to parse the PDU IE
"Unknown Tracking Area List" since it shouldn't be there. 3GPP TS
29.168 4.3.4.3.6 states:
"""
This IE shall only be included if the Cause IE indicates Message accepted, which means the MME will proceed with the
request for Tracking Areas that are known to the MME. The Cause IE indicating Tracking area not valid is used when
all Tracking Areas in the Request are invalid.
"""

Change-Id: I0a4d5bdbb6c4fd3870a4f4ebf226668b70fea06a
2022-07-29 14:49:30 +02:00
Pau Espin Pedrol
d8a537aca8 sbcap: Store reported failed TAIs from WriteReplaceResponse in cbc_message_peer
Change-Id: I37b08aa374c1097d2871bf69a7bb7893f32bccd3
2022-07-29 14:49:30 +02:00
Pau Espin Pedrol
4a9d22e5a0 sbcap: Request and handle Write Replace Warning Indication
Change-Id: I563e7d1c999f14b8197bb41e85b7bcf6262fe2a0
2022-07-29 14:49:30 +02:00
Pau Espin Pedrol
1429377005 Move ASN1C enc/dec logging to its own category
ASN1C encoding/decoding can get really verbose. Furthermore, it should
only be enabled under really specific conditions, so it makes sense to
have it under its own category.

Change-Id: Ia4cbae2395532d9b5b7b9177a7d0f31bf777d751
2022-07-29 14:49:30 +02:00
Pau Espin Pedrol
bc21b3ae81 Move cbc_cell_id2str() and make it public
It will be used later on to log whenever new cell ids are added to a
message_peer.

Change-Id: I74ccbbc810a2fa76fb2999a7588b3f67d4d21e03
2022-07-29 14:49:30 +02:00
Pau Espin Pedrol
ab8b8402a4 sbcap: Log info about messages received and trasmitted
Change-Id: Ifd1eca79bf4fac63de8066cd6a18004138d51d04
2022-07-29 14:49:26 +02:00
Pau Espin Pedrol
e416069cf6 sbcap: Fix typo in comment
Change-Id: I6d519cb80a90e2a7e80e4608c713996f94043f21
2022-07-27 13:42:17 +02:00
Pau Espin Pedrol
e67faef4ec Move sbcap_as_find_ie() to libsbcap
This function is generic and can be (will be) used in more places.

Change-Id: Ib0c7fa12a8f6faa4271e4132ca5a5c656e717400
2022-07-27 13:42:17 +02:00
Pau Espin Pedrol
745a2d6600 sbcap: Tx Error ind if Rx ProcedureCode is unknown
Change-Id: I3ee760b98d87f179917acbc369f56d72d0db571d
2022-07-27 13:42:17 +02:00
Pau Espin Pedrol
b093e6708d sbcap: Improve logging on non-implemented PWS Restart/Failure Ind
Change-Id: I0085ac40a7676d9c3626a9da38d02d3b1b2cf6b4
2022-07-27 13:42:17 +02:00
Pau Espin Pedrol
66625de21c sbcap: Improve logging of rx Error Indication
Change-Id: I63871a57f219a98f8191e6ee4787fc33edb21528
2022-07-27 13:42:06 +02:00
Pau Espin Pedrol
6db8c13fea sbcap: Drop unused events
Those events doesn't exist in SBc-AP.

Change-Id: Ie4843ed5debbd4282df487ada9596b4d75f4b46c
2022-07-26 14:33:47 +02:00
Pau Espin Pedrol
3f9d78e2a3 sbcap: Send Error Indication if decoding rx msg fails
Change-Id: I444290f3d697e7485e04eaa38acd8fc3623e0eab
2022-07-26 14:33:47 +02:00
Pau Espin Pedrol
692243baf5 sbcap: Fix typo in sbcap_cause_vals
Change-Id: I519a86e5292c39bf1ad502c587838e7b62a0e64f
2022-07-26 14:33:47 +02:00
Pau Espin Pedrol
9ce5d4bad7 Rename functions generating CBSP/SBc-AP Write-Replace request
Previous naming is misleading, as it seems to indicate the function is
used to generate any kind of message, which is wrong.

Change-Id: Ib0228c64bbf104accdbbebb6076004a6a1f44c6f
2022-07-26 14:33:43 +02:00
Pau Espin Pedrol
7beca6fda0 Rearrange cbc_message and cbsp message code
Move code from message_handling containing both code for generic
cbc_message and specific cbsp_message into thers files. The former are
moved to cbc_message.c and the later to cbsp_msg.c, similar to what's
already done for SBc-AP messages.

Change-Id: Ie4082e40f23170cfd6c573fbbb7beb8c6226b6e6
2022-07-26 10:01:05 +02:00
Pau Espin Pedrol
4dd20eec56 vty: Fix typo in vty output
Change-Id: I601f9ebcf17c5129edbce5b3ac7f0fd8294dd572
2022-07-26 08:04:06 +02:00
Pau Espin Pedrol
9144fd1fd8 sbcap_msg: Improve spec references for used IEs
Change-Id: I55749aa84415e0af240c3cc46f2b274e1d24e403
2022-07-26 08:03:33 +02:00
Pau Espin Pedrol
3c804efcc6 vty: Print created and expired times for each message
This also allows differentiating between expired and active
messages.

Change-Id: I9ee49b99546a44be706700c3db94d45210c47e54
2022-07-26 08:03:33 +02:00
Pau Espin Pedrol
5ae411980b vty: Add command to delete expired messages
Otherwise there's no way to remove expired messages, which keep filling
the expired list forever.

Change-Id: Ie7ed2d9ec8fc23cdc4cb007dce4150458085a6a3
2022-07-26 08:03:20 +02:00
Pau Espin Pedrol
93a588ba60 vty: Fix 'show message' not finding expired messages
Change-Id: I23523876f1df167e8afd730b2164f133c2776085
2022-07-25 16:27:26 +02:00
Pau Espin Pedrol
56d1ef3b52 cbc_vty: Fix missing indent char in dump_one_etws_msg
Change-Id: I8cdced4fa108dede8d5f5dba37dde9cb199198ab
2022-07-25 16:27:26 +02:00
Pau Espin Pedrol
3ef5020007 Support CBSP/TCP and SBc-AP/SCTP client mode
This patch adds support to set up a CBSP link so that osmo-cbc connects
as a TCP client to the BSC, which runs as a TCP server.
Similary, support to set up a SBc-AP link so that osmo-cbc connects
as a SCTP client to the MME, which runs as SCTP server.

A new "mode (client|server|disabled)" VTY command is added to use one
mother or the other, and also to disable the link and hence the peer
until it is set again. This is useful if the peer is under manintenance
for instance.

client sockets are created automatically when the "peer" vty node is
exited if the link is not yet created, hence creating it at startup or
if moved back from "disabled" mode. If client socket dies, it will
keep attempting reconnect every 5 seconds.

Related: OS#4945
Change-Id: I3ec54b615b41b56f7a9c64298e3fcaac37f4b60e
2022-07-25 16:27:26 +02:00
Pau Espin Pedrol
5044524f01 cosmetic: smscb_message_fsm.c: Fix typo in comment
Change-Id: I2eb15c2401efa9b07a51dbe71997da01aab30bba
2022-07-25 14:27:48 +02:00
Pau Espin Pedrol
3468e90ab3 sbcap: Fix encoding of Warning-Type
Change-Id: I9f6a0779c20ba86962aaaebc9b40ad162d2f2f3e
2022-07-25 14:27:48 +02:00
Pau Espin Pedrol
028b48b967 cbc-apitool: print usage instead of crashing if no subcmd passed
The "required" param was added in python 3.7.

Change-Id: Ia8d13beeb8da64644d1aaf36deeddda4de889a6c
2022-07-25 14:27:48 +02:00
Pau Espin Pedrol
01338add1d cbc-apitool: Fix port stored in var as a string
Passing "-p 12345" on the cmd line, fixes:
"""
  File "/osmo-cbc/contrib/./cbc-apitool.py", line 20, in build_url
    return "http://%s:%u%s%s" % (server_host, server_port, BASE_PATH, suffix)
TypeError: %u format: a real number is required, not str
"""

Change-Id: Ief688bb8c2a6cfa410608a6896ce3cb5df4eb48e
2022-07-22 17:58:33 +02:00
Pau Espin Pedrol
a97e166ee7 Split cbsp/sbcap server socket creation from struct allocation
This will be needed when we add client support, since clients will
require the mgr structs to be available during VTY parsing.

Change-Id: I14e49d8d2e603925d7f06a7edb710c0eceb02ea3
2022-07-22 16:13:15 +02:00
Pau Espin Pedrol
5661cef889 Move struct cbc bring up code to its own file and functions
This way it's clear and we have in one place all the related code that
neds to be run at a given time.t

Change-Id: I00fe755340664d4ca4a5cfdcae8d4cd33b2f40a1
2022-07-22 15:45:09 +02:00
Pau Espin Pedrol
d462e452e1 vty: Define peer proto during 'peer' node cmd
This way we lock the type (proto) of each peer at creation time.
Otherwise, having the possibility of changing the protocol of the peer
makes all the code too complex and there's no good way to prevent the
protocol from being changed at any time creating unexpected issues.
If the user wants to change the protocol, she can do so by removing the
peer and re-adding it through the VTY with the desired protocol.

Change-Id: I47756dddd8f9b8450ba14c914614fd2391d5486e
2022-07-22 14:16:10 +02:00
Pau Espin Pedrol
b05a9a6615 cbc_main: Fix setting default SBc-AP local address
The issue was not spotted until now because until recently
cbc_vty_go_parent was not called due to another bug.

Change-Id: I697597438d8c45f5956b12e2a6ea76413e945e5e
2022-07-22 14:16:10 +02:00
Pau Espin Pedrol
54f50a4857 Fix cbc_vty_go_parent() not being called
Change-Id: I946c503f5a40eafbee6e7fa359781548b74e45a6
2022-07-21 21:50:04 +02:00
Pau Espin Pedrol
7a8a388edf Make cbsp,sbcap mgr available in data model
Change-Id: I60c3ded80c38bcf50b831c6e9db719a8d2cba5b1
2022-07-21 20:39:23 +02:00
Vadim Yanitskiy
bc606f8ea1 cbc_vty: use install_element[_ve](), not install_lib_element[_ve]()
As the naming suggests, install_lib_element[_ve]() should be used
for commands registered by libraries.  This API allows to enforce
some rules for command attribute letters and should not be used
by application specific commands.

Change-Id: I8c0c8ac66dfc4fc2b8bf9102fba0df2dd988e7c9
2022-07-21 20:33:42 +02:00
Pau Espin Pedrol
b4f7404b6c cbc_vty: write peer config nodes at the end
This way we end up with more "global" configs at the start of the file,
which are read/applied first, and later all the per-peer information,
which is a list of variable length.

Change-Id: I7623ea5874552e57764327e94a9c3a4de7b71d67
2022-07-21 20:33:42 +02:00
Pau Espin Pedrol
678a9cb385 Refactor {cbsp,sbcap}_cbc_accept_cb
Delay allocating the structures until really needed.
First do checks agains the opened connection, and if an issue is
detected simply close the fd.
Next, fetch or allocate the related peer.
Finally, create the link from the fd.
This makes it easier to add early extra checks later when peers will
contain info on link_mode (client|server|disabled) later on.

Change-Id: Id4f83ec6b0b14e556b1caa9c80e7f68d062fec57
2022-07-21 20:33:38 +02:00
Pau Espin Pedrol
85bc27d394 cbc_vty: print correct protocol when writing config
Change-Id: Id9fc0b42827f9a74ff1de4b35339de02aeeefee2
2022-07-20 21:02:53 +02:00
Pau Espin Pedrol
053018abeb cbc_vty: Use value_string to define proto names used in vty
This will be used in other places in a follow up patch.

Change-Id: I125c7e5ca1f86c2ef390a85975465330c3ae1eb0
2022-07-20 21:02:21 +02:00
Pau Espin Pedrol
351b2c8c2b Use cbc_{cbsp,sbcap}_link_close when possible
This way we abstract whether the underlaying stream is a TCP/SCTP client
or server.

Change-Id: Ie020b9b5ee93ae8d0c9e7266177728185e8635f2
2022-07-20 20:27:50 +02:00
Pau Espin Pedrol
907c4013c4 Rename fields in cbc_{cbsp,sbcap}_mgr
* link -> srv_link to avoid confusing with cbsp/sbcap links
* clients -> links, since it holds links, which in the future will be
  both TCP/SCTP clients and servers.

Change-Id: I4717f49413af45b45059c1601a667f4161b4ca8a
2022-07-20 20:16:35 +02:00
Pau Espin Pedrol
5f6dfe77d4 Rename {cbsp,sbcap}_server(_fsm).h s/server/link/
Change-Id: I1e56dd1fcba23f6efd209e9d4dcdc88c8866d250
2022-07-20 20:10:16 +02:00
Pau Espin Pedrol
d3be026b93 Rename CBSP,SABP,SBcAP structs and APIs
Rename osmo_*_cbc -> cbc_*_mgr:
Now they only hold TCP/SCTP server related conns, but will also hold
TCP/SCTP client conns in the near future.

Rename osmo_cbc_*_client -> cbc_*_link:
The term "client" is confusing, since it doesn't exist in CBSP/SBcAP,
and will later support connecting to server at TCP/SCTP level.
Let's use "link" instead, similar to what's used in osmo-bsc which
already supports both TCP client and server modes.

Change-Id: Ia9d26dc1593c8ee08dce348fe9f5f4c9398ea2a5
2022-07-20 20:10:13 +02:00
Pau Espin Pedrol
0f17a212d1 cbsp_server.c: Drop unused code
This will be properly implemented soon.

Change-Id: I5165e3c64d2c933027019264f68f94fb0c18e0e9
2022-07-20 19:48:02 +02:00
Pau Espin Pedrol
782d431068 sbcap_server.h: Remove unused fields
Change-Id: I3086a264557b976985d166e56fb7f70ad96b81df
2022-07-20 19:23:36 +02:00
Pau Espin Pedrol
881d5bab4b Get rid of internal.h
Let's create missing header files and move stuff around to have a clear
view of who implements what.

Change-Id: Ib32091d716b33bca58e2d3acf8840b52824c0bd3
2022-07-20 19:23:36 +02:00
Pau Espin Pedrol
36be606dd4 Split cbc_message related code to its own .c and .h file
Change-Id: I41f6e169b1ee6731cd472f6b72ea922260e30ceb
2022-07-20 19:23:36 +02:00
Pau Espin Pedrol
28ccced217 Move vty stuff to its own header cbc_vty.h
Change-Id: Ib793a74befb7eaad66d19967c28acb4baf52ea69
2022-07-20 19:23:36 +02:00
Pau Espin Pedrol
a346b88b42 Move function defined in rest_it_op.c to rest_it_op.h
Change-Id: I434357d995a3c90342dbc7d2ac7e568c049ff7ae
2022-07-20 19:23:36 +02:00
Pau Espin Pedrol
f9d73a1cc1 cbc_peer: Close SBcAP conn when removing active peer
Change-Id: I50751856ba10640ecf036ab587c5e821d37863e2
2022-07-20 19:23:27 +02:00
Pau Espin Pedrol
1486ac0191 Split cbc_peer to its own .c and .h files
Change-Id: I41c890d81e76ac1a1c89d42af70a1f0631e9724e
2022-07-20 17:58:45 +02:00
Pau Espin Pedrol
f4741401e2 sbcap_server: Fix double-free of rx msg if conn is destroyed
In sbcap_cbc_read_cb(), if sctp_recvmsg() fails and we end up calling
osmo_stream_srv_destroy(conn), then both conn and client will end up
being freed by sbcap_cbc_closed_cb(), so we cannot use them anymore
after calling osmo_stream_srv_destroy(conn).
Furthermore, since msg was allocated with "client" ctx as parent, it
would also be freed when "client" was freed.
Let's make the logic easier and alloc it under g_cbc, which is
guaranteed to always be kept there.

Change-Id: I201f44efa24a514e0087b6dcd01115b9b2b8e9db
2022-07-20 17:58:45 +02:00
Pau Espin Pedrol
f955099737 sbcap_server: Log all sctp notif
Change-Id: Ibe73f1e976f088154c2a20e2c7dd98b39a475c08
2022-07-20 17:58:45 +02:00
Pau Espin Pedrol
5c39ea182d sbcap_server.c: Remove unneeded goto
Change-Id: I02cf8e7ec05d5189d9c6dcc9a7b1e4def80220d7
2022-07-20 17:58:45 +02:00
Pau Espin Pedrol
3f7eb33673 Improve example osmo-cbc.cfg file
Change-Id: I585ef7a6195891df36751999ee91ded799612c66
2022-07-20 16:05:01 +02:00
Vadim Yanitskiy
bd20466a2e tests/sbcap: fix wrong operator used in OSMO_ASSERT statement
Change-Id: I6fe9080302166ad9bdc305eab736d51496dd1ff8
Related: CID#274972, CID#274971
2022-07-20 05:05:44 +07:00
Pau Espin Pedrol
dcf9014f1d sbcap: Update asn1c skeleton files
Update skeleton files using newest asn1c with APER support [1],
commit eb4cd0c2a891a7dbfe90b4cb8cca545879b6d622.

This contains APER fixes for 32bit architectures.

[1] https://github.com/mouse07410/asn1c/tree/vlm_master/

Change-Id: I9ca556dec639223a8d37badb908fab254826192e
2022-07-19 20:32:50 +02:00
Pau Espin Pedrol
75f3c1da5a vty: Fix call to OSMO_STRBUF_PRINTF
"""
osmo-cbc/src/cbc_vty.c:61:3: error: format not a string literal and no format arguments [-Werror=format-security]
   61 |   OSMO_STRBUF_PRINTF(sb, peer->remote_host[i]);
"""

Change-Id: I90e7bdbe9f01dae9269ae4850bc2d7391fee71ec
2022-07-19 09:10:12 +00:00
Pau Espin Pedrol
3df34be9ce Fix printf format in 32bit arch
Change-Id: I1273a42da2362c2b65169343e3b8d856338b3973
2022-07-19 09:10:12 +00:00
Pau Espin Pedrol
384cff745e doc: Document SBc-AP support and config
Change-Id: Ic14ec2766fce251a6fe52a77d7bc0bbcd8d3afbf
2022-07-19 09:10:12 +00:00
Pau Espin Pedrol
c47c6a9e2e doc: user manual: fix typo
Change-Id: I20e595581f7d6145a01e9c0a6b0eb2af7637bfd9
2022-07-19 09:10:12 +00:00
Pau Espin Pedrol
6e59534d6b Add initial SBc-AP support to osmo-cbc
This patch makes use of the newly introduced sbcap library, and
introduces new code (and extends existing one) to handle all the aspects
of MME peers talking SBc-AP and its underlaying SCTP connection.

This commit doesn't aim to implement all the SBc-AP features, but to
implement a minimal subset of features already available for CBSP in
osmo-cbc, in order to have similar support level for both 2G and 4G
networks.

Related: OS#4945
Change-Id: Ib278bc1d1a74459814016fef7a8fe21cc29d46c9
2022-07-19 09:10:12 +00:00
Oliver Smith
ac2f4037bc libosmo-sbcap.pc.in: new file
Related: OS#4945
Change-Id: I9a7cf40e68cc246cab81f8c93485b83f75dcf778
2022-07-18 13:57:04 +00:00
Oliver Smith
3f0839d1cb debian: add subpackages libosmo-sbcap0/-dev
Related: OS#4945
Change-Id: Ic0e80000b377f80c3914e607e94e998e9862ceac
2022-07-18 13:57:04 +00:00
Oliver Smith
88613b7d44 contrib/osmo-cbc.spec: add libosmo-sbcap0/-dev
Fix for:
  error: Installed (but unpackaged) file(s) found:
  ...

Related: OS#4945
Change-Id: I789b32c9a9e1fd3f11db8593da3c3ac9a20aeb3d
2022-07-18 13:57:04 +00:00
Pau Espin Pedrol
3c846a7f36 sbcap: Update asn1c skeleton files
Update skeleton files using newest asn1c with APER support [1],
commit 24247e2813a7510ebabe6a9b6b6b29fffa0eb27b.

This contains some APER decoding and encoding fixes for length
determinants. See [2] for more information.

[1] https://github.com/mouse07410/asn1c/tree/vlm_master/
[2] https://github.com/mouse07410/asn1c/issues/94

Change-Id: I581fc53b124a443e150508811df4cca4593038c4
2022-07-18 11:49:08 +02:00
Pau Espin Pedrol
ca432adbcb Add unit tests for sbcap
This commit adds some minimum unit tests to validate encoding and
decoding of SBc-AP ASN.1 APER format is working properly.

Related: OS#4945
Change-Id: I5a26d008b7282da637c3781ae77435c6a69cf65d
2022-07-15 15:53:39 +02:00
Pau Espin Pedrol
4b8175d189 Add sbcap library
This commit adds initial support to encode/decode SBc-AP messages in the
form of a library, under src/sbcap/ (includes in
include/osmocom/sbcap/).
asn1c is used to generate all suport code and structures for ASN.1 APER
encoding/decoding, based on asn files obtained from 3GPP TS 29.168 and
stored under src/sbcap/asn1/.
Currently, mainstream asn1c doesn't yet support ASN.1 APER
encoding/decoding, hence mouse07410 's fork is used [1]. Furthermore,
several encdoing/decoding bugs where found during the process and fixed,
which means asn1.c git >= 30219de2d3da888b4f1eea0dd79f2a505000401a must
be used to generate proper code.

A new "make -C src/ gen" target is added which can be used to regenerate
all C code from the available ASN.1 files in src/sbcap/asn1/*.asn (after
properly setting configure.ac ASN_* variables if needed).

[1] https://github.com/mouse07410/asn1c

Related: OS#4945
Change-Id: If76f8619a9b2d46af6d94b8ae49348b8514e53aa
2022-07-15 15:53:35 +02:00
Oliver Smith
98d5b6143a checkpatch.conf: ignore sbcap generated files
Prepare to add sbcap library in
If76f8619a9b2d46af6d94b8ae49348b8514e53aa.

Change-Id: Icc5150b2c835f8a9c6b584da5e01ab2fd938ee45
2022-07-15 09:17:36 +00:00
Oliver Smith
4b19583188 gitreview: add new file
Change-Id: Ie1539f23b67dadce29d03f1e6542eb8077b25504
2022-07-15 09:14:07 +00:00
Pau Espin Pedrol
cc599727c7 rest_api: Fix cbs.data_user_len not set in 'payload_encoded'
This is later used in cbcmsg_to_cbsp(), but only set for type
'payload_decoded' in parse_payload_decoded().

Change-Id: I519cf300cd01e8c2728babeaa77b8486f47115be
2022-07-12 19:42:45 +02:00
Pau Espin Pedrol
a12affbc0f cbsp: Clean up conn closed paths
Change-Id: I08d1da97f0a2d83f7f48c59bc4dbd669f4f814b3
2022-07-07 16:22:36 +02:00
Pau Espin Pedrol
2eb9c116d9 Improve error handling when forwarding ECBE msg to CBSP
Change-Id: Ie411409b3af8f7dd6913b522ea9ed3b58736dc9f
2022-07-06 16:37:54 +02:00
Pau Espin Pedrol
8dc5648176 Move header files to include/osmocom/cbc/ dir
Change-Id: Id6c9f99805169d624a2c6e001fe1983e24fdc5c3
2022-07-04 13:35:47 +02:00
Pau Espin Pedrol
18f144662e cbsp_server: Exit process gracefully if binding socket fails
Change-Id: I6fac793aa6975cacfeffc3389167bd00864a8a08
2022-07-01 17:24:28 +02:00
Pau Espin Pedrol
9f2a1e3013 main: remove newline char in perror() call
perror() appends ":" immediatelly afterwards in order to append the
error string, so having a newline breaks the format.

Change-Id: I14874c2c86495c83030fa40c7060706e9dfe1968
2022-07-01 17:22:36 +02:00
Pau Espin Pedrol
b38bc5cb38 Fix typos in error messages
Change-Id: I42b201127535ae9fc61adbdc37e1d23897fd81d8
2022-07-01 17:15:26 +02:00
Pau Espin Pedrol
b1ab55d887 Move peer to DELETED state before signalling parent FSM with DELETE_(N)ACK
When receiving SMSCB_E_CBSP_DELETE_(N)ACK, smscb_message_fsm will iterate
over all peers to find out if some of them has still not ended, and in
that case delay sending an HTTP result.
However, the peer was sending the signal before moving to DELETED state,
and hence smscb_message_fsm would never send the HTTP result until T3
(T_WAIT_DELETE_ACK) would time out after it:
"""
20220629104312596 DCBSP INFO SMSCB-PEER(TTCN-3-44-ttcn3)[0x560b46c1f770]{WAIT_DELETE_ACK}: Received Event DELETE_ACK (cbsp_server_fsm.c:348)
20220629104312596 DCBSP INFO SMSCB(TTCN-3-44)[0x560b46c1f090]{WAIT_DELETE_ACK}: Received Event DELETE_ACK (smscb_peer_fsm.c:423)
20220629104312596 DCBSP INFO SMSCB-PEER(TTCN-3-44-ttcn3)[0x560b46c1f770]{WAIT_DELETE_ACK}: state_chg to DELETED (smscb_peer_fsm.c:424)
20220629104327599 DCBSP INFO SMSCB(TTCN-3-44)[0x560b46c1f090]{WAIT_DELETE_ACK}: Timeout of T3 (fsm.c:317)
20220629104327599 DREST DEBUG rest_it_op_complete(op=0x7fd09c001490) complete (rest_it_op.c:129)
20220629104327599 DCBSP INFO SMSCB(TTCN-3-44)[0x560b46c1f090]{WAIT_DELETE_ACK}: state_chg to DELETED (smscb_message_fsm.c:294)
20220629104327599 DREST DEBUG rest_it_op completed with 0 (HTTP 0) (rest_it_op.c:68)
"""

Change-Id: Idb418728e1242fc5436355ccf73f20b1419e1eb8
2022-06-30 16:46:31 +02:00
Pau Espin Pedrol
14b862099e Configure libosmocore logging system as multithread
OsmoCBC uses libulfius, which creates its own thread(s).
Hence, we must set up osmocom logging system appropiately so that
relevant stuff is protected by locks.

Related: OS#5598
Change-Id: Ic06edc19d22b90e2b6b7de3a25d62cda5001f46e
2022-06-30 16:21:50 +02:00
431 changed files with 55340 additions and 1540 deletions

2
.checkpatch.conf Normal file
View File

@@ -0,0 +1,2 @@
--exclude ^src/sbcap/(skel|gen)/.*\.(c|h)$
--exclude ^src/sbcap/.*\.asn$

1
.gitignore vendored
View File

@@ -61,3 +61,4 @@ doc/manuals/build
doc/manuals/vty/cbc_vty_reference.xml
contrib/osmo-cbc.spec
libosmo-sbcap.pc

4
.gitreview Normal file
View File

@@ -0,0 +1,4 @@
[gerrit]
host=gerrit.osmocom.org
project=osmo-cbc

View File

@@ -1,7 +1,12 @@
AUTOMAKE_OPTIONS = foreign dist-bzip2 1.6
AM_CPPFLAGS = $(all_includes) -I$(top_srcdir)/include
SUBDIRS = src doc contrib tests
SUBDIRS = include src doc contrib tests
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = \
libosmo-sbcap.pc \
$(NULL)
EXTRA_DIST = .version \
README.md \

View File

@@ -6,7 +6,7 @@ AC_INIT([osmo-cbc],
dnl *This* is the root dir, even if an install-sh exists in ../ or ../../
AC_CONFIG_AUX_DIR([.])
AM_INIT_AUTOMAKE([dist-bzip2])
AM_INIT_AUTOMAKE([dist-bzip2 subdir-objects])
AC_CONFIG_TESTDIR(tests)
CFLAGS="$CFLAGS -std=gnu11"
@@ -39,6 +39,27 @@ PKG_CHECK_MODULES(ULFIUS, libulfius)
PKG_CHECK_MODULES(JANSSON, jansson)
PKG_CHECK_MODULES(ORCANIA, liborcania)
# Define asn1c skeleton files directory (See "asn1c -S <dir>").
# Used during "make -C src/ regen" to copy header files from there
ASN1C_SKELETON_PATH="/usr/share/asn1c"
ASN1C_BIN_PATH="/usr/bin/asn1c"
ASN_MODULE_CFLAGS="-DASN_DISABLE_BER_SUPPORT -DASN_DISABLE_XER_SUPPORT -DASN_DISABLE_JER_SUPPORT -DASN_DISABLE_OER_SUPPORT -DASN_DISABLE_UPER_SUPPORT"
AC_SUBST([ASN1C_SKELETON_PATH])
AC_SUBST([ASN1C_BIN_PATH])
AC_SUBST([ASN_MODULE_CFLAGS])
AC_CHECK_HEADERS(netinet/sctp.h,,AC_MSG_ERROR(netinet/sctp.h not found))
old_LIBS=$LIBS
AC_SEARCH_LIBS([sctp_recvmsg], [sctp], [
AC_DEFINE(HAVE_LIBSCTP, 1, [Define 1 to enable SCTP support])
AC_SUBST(HAVE_LIBSCTP, [1])
if test -n "$ac_lib"; then
AC_SUBST(LIBSCTP_LIBS, [-l$ac_lib])
fi
], [
AC_MSG_ERROR([sctp_recvmsg not found in searched libs])])
LIBS=$old_LIBS
AC_ARG_ENABLE(sanitize,
[AS_HELP_STRING(
[--enable-sanitize],
@@ -169,11 +190,18 @@ AC_MSG_RESULT([CPPFLAGS="$CPPFLAGS"])
AC_OUTPUT(
src/Makefile
src/sbcap/Makefile
include/Makefile
include/osmocom/Makefile
include/osmocom/cbc/Makefile
include/osmocom/sbcap/Makefile
contrib/Makefile
contrib/osmo-cbc.spec
tests/Makefile
tests/sbcap/Makefile
doc/Makefile
doc/examples/Makefile
doc/manuals/Makefile
contrib/systemd/Makefile
libosmo-sbcap.pc
Makefile)

View File

@@ -114,10 +114,10 @@ def main(argv):
parser = argparse.ArgumentParser()
parser.add_argument("-H", "--host", help="Host to connect to", default="localhost")
parser.add_argument("-p", "--port", help="TCP port to connect to", default=12345)
parser.add_argument("-p", "--port", help="TCP port to connect to", type=int, default=12345)
parser.add_argument("-v", "--verbose", help="increase output verbosity", action='count', default=0)
subparsers = parser.add_subparsers()
subparsers = parser.add_subparsers(required=True)
parser_c_cbs = subparsers.add_parser('create-cbs', help='Create a new CBS message')
parser_c_cbs.add_argument("--msg-id", type=int, help='Message Identifier', required=True)

View File

@@ -30,6 +30,7 @@ BuildRequires: pkgconfig >= 0.20
%if 0%{?suse_version}
BuildRequires: systemd-rpm-macros
%endif
BuildRequires: pkgconfig(libsctp)
BuildRequires: pkgconfig(libosmocore) >= 1.7.0
BuildRequires: pkgconfig(libosmogsm) >= 1.7.0
BuildRequires: pkgconfig(libosmovty) >= 1.7.0
@@ -49,6 +50,24 @@ Group: Productivity/Telephony/Utilities
%description utils
CLI utility to interface with the osmo-cbc REST interface (ECBE).
%package -n libosmo-sbcap0
Summary: Osmocom's library to encode/decode SBc-AP messages
Group: System/Libraries
%description -n libosmo-sbcap0
Osmocom's library to encode/decode SBc-AP messages.
%package -n libosmo-sbcap-devel
Summary: Development files for libosmo-sbcap
Group: Development/Libraries/C and C++
Requires: libosmo-sbcap0 = %{version}
%description -n libosmo-sbcap-devel
Osmocom's library to encode/decode SBc-AP messages.
This subpackage contains libraries and header files for developing
applications that want to make use of libosmo-sbcap.
%prep
%setup -q
@@ -63,6 +82,7 @@ make %{?_smp_mflags}
%install
%make_install
install -m 755 contrib/cbc-apitool.py %{buildroot}/usr/bin/cbc-apitool.py
find %{buildroot} \( -name '*.la' -o -name '*.a' \) -delete -print
%if 0%{?suse_version}
%preun
@@ -95,4 +115,14 @@ make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +)
%files utils
%{_bindir}/cbc-apitool.py
%files -n libosmo-sbcap0
%{_libdir}/libosmo-sbcap.so.0*
%files -n libosmo-sbcap-devel
%{_libdir}/libosmo-sbcap.so
%{_libdir}/pkgconfig/libosmo-sbcap.pc
%dir %{_includedir}/osmocom
%dir %{_includedir}/osmocom/sbcap
%{_includedir}/osmocom/sbcap/*.h
%changelog

103
debian/changelog vendored
View File

@@ -1,3 +1,106 @@
osmo-cbc (0.4.0) unstable; urgency=medium
[ Pau Espin Pedrol ]
* Configure libosmocore logging system as multithread
* Move peer to DELETED state before signalling parent FSM with DELETE_(N)ACK
* Fix typos in error messages
* main: remove newline char in perror() call
* cbsp_server: Exit process gracefully if binding socket fails
* Move header files to include/osmocom/cbc/ dir
* Improve error handling when forwarding ECBE msg to CBSP
* cbsp: Clean up conn closed paths
* rest_api: Fix cbs.data_user_len not set in 'payload_encoded'
* Add sbcap library
* Add unit tests for sbcap
* sbcap: Update asn1c skeleton files
* Add initial SBc-AP support to osmo-cbc
* doc: user manual: fix typo
* doc: Document SBc-AP support and config
* Fix printf format in 32bit arch
* vty: Fix call to OSMO_STRBUF_PRINTF
* sbcap: Update asn1c skeleton files
* Improve example osmo-cbc.cfg file
* sbcap_server.c: Remove unneeded goto
* sbcap_server: Log all sctp notif
* sbcap_server: Fix double-free of rx msg if conn is destroyed
* Split cbc_peer to its own .c and .h files
* cbc_peer: Close SBcAP conn when removing active peer
* Move function defined in rest_it_op.c to rest_it_op.h
* Move vty stuff to its own header cbc_vty.h
* Split cbc_message related code to its own .c and .h file
* Get rid of internal.h
* sbcap_server.h: Remove unused fields
* cbsp_server.c: Drop unused code
* Rename CBSP,SABP,SBcAP structs and APIs
* Rename {cbsp,sbcap}_server(_fsm).h s/server/link/
* Rename fields in cbc_{cbsp,sbcap}_mgr
* Use cbc_{cbsp,sbcap}_link_close when possible
* cbc_vty: Use value_string to define proto names used in vty
* cbc_vty: print correct protocol when writing config
* Refactor {cbsp,sbcap}_cbc_accept_cb
* cbc_vty: write peer config nodes at the end
* Make cbsp,sbcap mgr available in data model
* Fix cbc_vty_go_parent() not being called
* cbc_main: Fix setting default SBc-AP local address
* vty: Define peer proto during 'peer' node cmd
* Move struct cbc bring up code to its own file and functions
* Split cbsp/sbcap server socket creation from struct allocation
* cbc-apitool: Fix port stored in var as a string
* cbc-apitool: print usage instead of crashing if no subcmd passed
* sbcap: Fix encoding of Warning-Type
* cosmetic: smscb_message_fsm.c: Fix typo in comment
* Support CBSP/TCP and SBc-AP/SCTP client mode
* cbc_vty: Fix missing indent char in dump_one_etws_msg
* vty: Fix 'show message' not finding expired messages
* vty: Add command to delete expired messages
* vty: Print created and expired times for each message
* sbcap_msg: Improve spec references for used IEs
* vty: Fix typo in vty output
* Rearrange cbc_message and cbsp message code
* Rename functions generating CBSP/SBc-AP Write-Replace request
* sbcap: Fix typo in sbcap_cause_vals
* sbcap: Send Error Indication if decoding rx msg fails
* sbcap: Drop unused events
* sbcap: Improve logging of rx Error Indication
* sbcap: Improve logging on non-implemented PWS Restart/Failure Ind
* sbcap: Tx Error ind if Rx ProcedureCode is unknown
* Move sbcap_as_find_ie() to libsbcap
* sbcap: Fix typo in comment
* sbcap: Log info about messages received and trasmitted
* Move cbc_cell_id2str() and make it public
* Move ASN1C enc/dec logging to its own category
* sbcap: Request and handle Write Replace Warning Indication
* sbcap: Store reported failed TAIs from WriteReplaceResponse in cbc_message_peer
* sbcap: Improve handling of WriteReplaceWarnResponse
* Introduce logging category smscb
* Split event list for smscb_message_fsm and smscb_peer_fsm
* Split smscb_peer_fsm into CBSP and SBcAP specific FSMs
* cbc_main: Enable logging of fsm timeouts
* Propagate error to caller when tx cbsp/sbcap Write-Replace-Req fails
* sbcap: Fix NULL pointer dereference
* cbsp/sbcap: Fix memleak in error condition (tx without link)
* *_smscb_peer_fsm: Immediately NACK if Tx of msg failed
* cbsp: Fix heap-use-after-free closing cli conn in connecting state
* cbsp/sbcap: Set link fsm id with peer's name
* cbsp/sbcap: Fail if trying to Tx on non-connected (connecting) link
* sbcap: Add Concurrent-Warning-Message-Indicator IE to Write-Replace-Req
* cbsp: Log storing of CellId info received from peers
* cbsp: Store content of received Cell Id from Failed List
[ Oliver Smith ]
* gitreview: add new file
* checkpatch.conf: ignore sbcap generated files
* contrib/osmo-cbc.spec: add libosmo-sbcap0/-dev
* debian: add subpackages libosmo-sbcap0/-dev
* libosmo-sbcap.pc.in: new file
[ Vadim Yanitskiy ]
* tests/sbcap: fix wrong operator used in OSMO_ASSERT statement
* cbc_vty: use install_element[_ve](), not install_lib_element[_ve]()
* libosmo-sbcap: add -no-undefined to libosmo_sbcap_la_LDFLAGS
-- Pau Espin Pedrol <pespin@sysmocom.de> Mon, 08 Aug 2022 11:42:56 +0200
osmo-cbc (0.3.0) unstable; urgency=medium
[ Vadim Yanitskiy ]

16
debian/control vendored
View File

@@ -15,6 +15,7 @@ Build-Depends: debhelper (>=9),
libosmo-netif-dev (>= 1.2.0),
libulfius-dev,
libjansson-dev,
libsctp-dev,
osmo-gsm-manuals-dev
Standards-Version: 3.9.8
Vcs-Git: https://gitea.osmocom.org/cellular-infrastructure/osmo-cbc
@@ -48,3 +49,18 @@ Depends: ${misc:Depends}
Description: ${misc:Package} PDF documentation
Various manuals: user manual, VTY reference manual and/or
protocol/interface manuals.
Package: libosmo-sbcap0
Section: libs
Architecture: any
Multi-Arch: same
Pre-Depends: ${misc:Pre-Depends}
Depends: ${misc:Depends}, ${shlibs:Depends}
Description: libosmo-sbcap: Osmocom's library to encode/decode SBc-AP messages
Package: libosmo-sbcap-dev
Section: libdevel
Architecture: any
Multi-Arch: same
Depends: libosmo-sbcap0 (= ${binary:Version}), ${misc:Depends}
Description: libosmo-sbcap: Osmocom's library to encode/decode SBc-AP messages

4
debian/libosmo-sbcap-dev.install vendored Normal file
View File

@@ -0,0 +1,4 @@
usr/include/osmocom/sbcap
usr/lib/*/libosmo-sbcap.so
usr/lib/*/libosmo-sbcap.a
usr/lib/*/pkgconfig/libosmo-sbcap.pc

1
debian/libosmo-sbcap0.install vendored Normal file
View File

@@ -0,0 +1 @@
usr/lib/*/libosmo-sbcap.so.*

View File

@@ -1,11 +1,28 @@
log stderr
logging level cbsp debug
logging level main notice
logging level smscb notice
logging level cbsp notice
logging level sbcap notice
logging level asn1c notice
logging level rest notice
cbc
unknown-peers reject
cbsp
local-ip 127.0.0.1
local-port 48049
ecbe
local-ip 127.0.0.1
local-port 12345
cbsp
local-ip 127.0.0.1
local-port 48049
sbcap
local-ip 127.0.0.1
local-ip ::1
local-port 29168
peer cbsp example-bsc
mode server
remote-ip 127.0.0.2
remote-port 48049
peer sbcap example-mme
mode client
remote-ip 127.0.0.2
remote-ip ::2
remote-port 29168

View File

@@ -1,7 +1,7 @@
[[configuration]]
== Configuration
=== CBSP / Peer Configuration
=== CBSP Peer Configuration
CBSP is the BSC-CBC interface within the 3GPP architecture. It serves
to communicate CSB and ETWS messages from the CBC to the BSC, who then
@@ -43,15 +43,15 @@ cbc
remote-port 46133
remote-ip 1.2.3.4
peer my-bsc-2
remote-port 46133
remote-ip 1.2.3.4
remote-port 46134
remote-ip 1.2.3.5
----
For more details on the available configuration commands, please check the OsmoCBC VTY Reference.
==== Configuring the IP/Port for CBSP to bind to
It can be configure to which IP and TCP port the CBSP protocol binds to.
It can be configured to which IP and TCP port the CBSP protocol binds to.
The default is to bind to the 3GPP standard port number 48049 for CBSP at the
loopback IP address 127.0.0.1.
@@ -64,6 +64,71 @@ cbc
local-port 48049
----
=== SBc-AP Peer Configuration
SBc-AP is the MME-CBC interface within the 3GPP architecture. It serves
to communicate CSB and ETWS messages from the CBC to the MME, who then
subsequently distributes it among the (matching) cells (eNodeBs) within the MME.
[[config-sbcap]]
==== Configuring the SBc-AP connections
An MME typically operates as an SCTP server, and the CBC connects as SCTP
client. This would require the CBC to have out-of-band knowledge of all the
MMEs in the network (and their IP addresses).
In order to comply with the specifications, OsmoCBC supports this mode
of operation as SBc-AP SCTP client. However, to make network operation and
configuration more simple, it also can operate in SCTP server mode,
accepting incoming connections from the MMEs. This way the MMEs need to
know the CBC IP address, but not vice-versa.
The default port number for the SBc-AP server is 29168, according to the SBc-AP
specification. It uses SCTP payload protocol identifier 24.
In order to make use of SCTP muti-homing capabilitites, simply configure several
IP addresses when configuring SBc-AP.
.Example: Configure SCTP server mode and allow arbitrary MMEs to connect
----
cbc
unknown-peers accept
----
.Example: Configure SCTP client mode and define each BSC
----
cbc
peer my-mme-1
protocol sbcap
remote-port 334455
remote-ip 1.2.3.4
remote-ip 1.2.3.5
peer my-mme-2
protocol sbcap
remote-port 334456
remote-ip 1.2.3.10
----
For more details on the available configuration commands, please check the OsmoCBC VTY Reference.
==== Configuring the IP/Port for SBc-AP to bind to
It can be configured to which IP and SCTP port the SBc-AP protocol binds to.
The default is to bind to the 3GPP standard port number 29168 for SBc-AP at the
loopback IP address 127.0.0.1 and ::1.
.Example: Configure SBc-AP to bind to (127.0.0.1,::1):48049
----
cbc
sbcap
local-ip 127.0.0.1
local-ip ::1
local-port 48049
----
[[config-ecbe]]
=== ECBE (REST Interface) Configuration

View File

@@ -10,7 +10,7 @@ It acts as a gateway between external applications / users, such as government
authorities for civil protection, and the various components within the 3GPP
network to actually deliver those broadcast and/or emergency messages.
.Role of the CBC inside the 3GPP network architecture
.Role of the CBC inside the 3GPP network architecture (3GPP TS 23.041 §3)
[graphviz]
----
include::../images/cbc-in-network.dot[]
@@ -23,6 +23,7 @@ OsmoCBC is the Osmocom implementation of a Cellular Broadcast Centre (CBC). It
implements:
- the BSC-CBC interface using the CBSP protocol
- The MME-CBC interface using the SBc-AP protocol
- a HTTP/JSON/RESTful interface for external applications
- a telnet-based command line interface for configuration and introspection called VTY
@@ -30,12 +31,10 @@ OsmoCBC provides mainly the following functionality:
- establishing communication with the various Radio Access Network elements such as BSCs within the network
- receiving requests to start or remove CBS and ETWS messages from external applications
- distributing the CBS and/or ETWS messages
has connection with the various RANs of the 3GPP cellular network
- distributing the CBS and/or ETWS messages to the various RANs of the 3GPP cellular network
Future versions of OsmoCBC are expected to contain the RNC-CBC interface
with the SABP protocol, as well as the MME-CBC interface using the SBcAP
protocol. Should you be interested in contributing to this effort,
Future versions of OsmoCBC are expected to contain the RNC-CBC interface with
the SABP protocol. Should you be interested in contributing to this effort,
please contact the author of this document.
=== CBSP implementation
@@ -57,6 +56,20 @@ simply only accepts incoming CBSP connections.
For more information, see <<config-cbsp>> on how CBSP is configured.
=== SBc-AP implementation
SBc-AP (SBc Application Part) is the interface between the Mobility Management
Entity (MME) and the Cell Broadcast Centre (CBC) in 4G networks. It is also the
interface between the Public Warning System Inter Working Function (PWS-IWF)
and the CBC in 5G networks. It is specified in 3GPP TS 29.168.
Similarly to what's done with CBSP, OsmoCBC also supports operating SBc-AP as an
SCTP client or an SCTP server. In the first case, OsmoCBC must be passed a list
of MMEs to connect to, while in the second one it will only accept incoming SCTP
connections.
For more information, see <<config-sbcap>> on how SBc-AP is configured.
=== ECBE REST interface
3GPP does not specify the external interface by which competent

View File

@@ -5,13 +5,17 @@ digraph G {
CBC -> BSC [label="CBSP"];
CBC -> RNC [label="SABP"];
CBC -> MME [label="SBc-AP"];
CBC -> PWSIWF [label="SBc-AP"];
PWSIWF -> AMF [label="N50"];
BSC -> BTS [label="A-bis RSL"];
RNC -> NodeB [label="Iub"];
MME -> eNodeB [label="S1-AP"];
AMF -> gNodeB [label="N2"];
BTS -> UE [label="CBCH"];
NodeB -> UE [label="BMC/CTCH"];
eNodeB -> UE [label="SIB10/11/12"];
gNodeB -> UE [label="Uu"];
}

1
include/Makefile.am Normal file
View File

@@ -0,0 +1 @@
SUBDIRS = osmocom

View File

@@ -0,0 +1 @@
SUBDIRS = cbc sbcap

View File

@@ -0,0 +1,17 @@
noinst_HEADERS = \
cbc_data.h \
cbc_peer.h \
cbc_message.h \
cbc_vty.h \
cbsp_link.h \
cbsp_link_fsm.h \
cbsp_msg.h \
charset.h \
debug.h \
sbcap_msg.h \
sbcap_link.h \
sbcap_link_fsm.h \
rest_it_op.h \
smscb_message_fsm.h \
smscb_peer_fsm.h \
$(NULL)

View File

@@ -0,0 +1,93 @@
#pragma once
#include <stdint.h>
#include <stdbool.h>
#include <osmocom/core/linuxlist.h>
#include <osmocom/core/it_q.h>
#include <osmocom/gsm/protocol/gsm_48_049.h>
#include <osmocom/gsm/gsm23003.h>
#define CBC_MAX_LOC_ADDRS 8
enum cbc_cell_id_type {
CBC_CELL_ID_NONE,
CBC_CELL_ID_BSS,
CBC_CELL_ID_CGI,
CBC_CELL_ID_LAC_CI,
CBC_CELL_ID_LAI,
CBC_CELL_ID_LAC,
CBC_CELL_ID_CI,
CBC_CELL_ID_ECGI,
CBC_CELL_ID_TAI,
};
struct cbc_cell_id {
struct llist_head list;
enum cbc_cell_id_type id_discr;
union {
struct osmo_cell_global_id cgi;
struct osmo_lac_and_ci_id lac_and_ci;
struct osmo_location_area_id lai;
uint16_t lac;
uint16_t ci;
struct osmo_eutran_cell_global_id ecgi;
struct osmo_tracking_area_id tai;
} u;
/* only in failure list */
struct {
int cause;
} fail;
/* only in num_compl list */
struct {
uint32_t num_compl;
uint32_t num_bcast_info;
} num_compl;
};
const char *cbc_cell_id2str(const struct cbc_cell_id *cid);
/*********************************************************************************
* CBC itself
*********************************************************************************/
struct cbc_cbsp_mgr;
struct cbc_sbcap_mgr;
struct cbc {
struct {
bool permit_unknown_peers;
struct {
char *local_host;
int local_port;
} cbsp;
struct {
char *local_host[CBC_MAX_LOC_ADDRS];
unsigned int num_local_host;
int local_port;
} sbcap;
struct {
char *local_host;
int local_port;
} ecbe;
} config;
struct {
struct cbc_cbsp_mgr *mgr;
} cbsp;
struct {
struct cbc_sbcap_mgr *mgr;
} sbcap;
struct llist_head messages; /* cbc_message.list */
struct llist_head expired_messages; /* cbc_message.list */
struct llist_head peers; /* cbc_peer.list */
struct {
struct osmo_it_q *rest2main;
} it_q;
};
extern struct cbc *g_cbc;
struct cbc *cbc_alloc(void *ctx);
int cbc_start(struct cbc *cbc);
/* rest_api.c */
int rest_api_init(void *ctx, const char *bind_addr, uint16_t port);
void rest_api_fin(void);

View File

@@ -7,67 +7,6 @@
#include <osmocom/gsm/protocol/gsm_48_049.h>
#include <osmocom/gsm/gsm23003.h>
struct osmo_cbsp_cbc_client;
struct osmo_sabp_cbc_client;
struct rest_it_op;
/*********************************************************************************
* CBC Peer
*********************************************************************************/
enum cbc_peer_protocol {
CBC_PEER_PROTO_CBSP,
CBC_PEER_PROTO_SABP,
};
struct cbc_peer {
struct llist_head list; /* linked to cbc.peers */
const char *name;
char *remote_host; /* remote IP address in string format */
int remote_port; /* remote port number or -1 for random */
bool unknown_dynamic_peer; /* dynamic/unknown peer; not saved in VTY */
enum cbc_peer_protocol proto;
union {
struct osmo_cbsp_cbc_client *cbsp;
struct osmo_sabp_cbc_client *sabp;
} client;
};
extern const struct value_string cbc_peer_proto_name[];
enum cbc_cell_id_type {
CBC_CELL_ID_NONE,
CBC_CELL_ID_BSS,
CBC_CELL_ID_CGI,
CBC_CELL_ID_LAC_CI,
CBC_CELL_ID_LAI,
CBC_CELL_ID_LAC,
CBC_CELL_ID_CI,
};
struct cbc_cell_id {
struct llist_head list;
enum cbc_cell_id_type id_discr;
union {
struct osmo_cell_global_id cgi;
struct osmo_lac_and_ci_id lac_and_ci;
struct osmo_location_area_id lai;
uint16_t lac;
uint16_t ci;
} u;
/* only in failure list */
struct {
int cause;
} fail;
/* only in num_compl list */
struct {
uint32_t num_compl;
uint32_t num_bcast_info;
} num_compl;
};
/*********************************************************************************
* CBC Message
@@ -159,42 +98,15 @@ struct cbc_message {
} time;
};
/*********************************************************************************
* CBC itself
*********************************************************************************/
struct cbc {
struct {
bool permit_unknown_peers;
struct {
char *local_host;
int local_port;
} cbsp;
struct {
char *local_host;
int local_port;
} ecbe;
} config;
struct llist_head messages; /* cbc_message.list */
struct llist_head expired_messages; /* cbc_message.list */
struct llist_head peers; /* cbc_peer.list */
struct {
struct osmo_it_q *rest2main;
} it_q;
};
extern struct cbc *g_cbc;
struct cbc_message *cbc_message_alloc(void *ctx, const struct cbc_message *cbcmsg);
void cbc_message_free(struct cbc_message *cbcmsg);
int cbc_message_new(const struct cbc_message *cbcmsg, struct rest_it_op *op);
void cbc_message_delete(struct cbc_message *cbcmsg, struct rest_it_op *op);
struct cbc_message *cbc_message_by_id(uint16_t message_id);
struct cbc_message *cbc_message_expired_by_id(uint16_t message_id);
int peer_new_cbc_message(struct cbc_peer *peer, struct cbc_message *cbcmsg);
int cbc_message_del_peer(struct cbc_message *cbcmsg, struct cbc_peer *peer);
int cbc_message_add_peer(struct cbc_message *cbcmsg, struct cbc_peer *peer);
struct cbc_message_peer *smscb_peer_fsm_alloc(struct cbc_peer *peer, struct cbc_message *cbcmsg);
struct cbc_message_peer *cbc_message_peer_get(struct cbc_message *cbcmsg, struct cbc_peer *peer);
struct cbc_peer *cbc_peer_by_name(const char *name);
struct cbc_peer *cbc_peer_by_addr_proto(const char *remote_host, uint16_t remote_port,
enum cbc_peer_protocol proto);
struct cbc_peer *cbc_peer_create(const char *name, enum cbc_peer_protocol proto);
void cbc_peer_remove(struct cbc_peer *peer);

View File

@@ -0,0 +1,58 @@
#pragma once
#include <stdint.h>
#include <stdbool.h>
#include <osmocom/core/linuxlist.h>
struct cbc_cbsp_link;
struct cbc_sabp_link;
struct cbc_sbcap_link;
#define CBC_MAX_REM_ADDRS 8
/*********************************************************************************
* CBC Peer
*********************************************************************************/
enum cbc_peer_protocol {
CBC_PEER_PROTO_CBSP,
CBC_PEER_PROTO_SABP,
CBC_PEER_PROTO_SBcAP
};
enum cbc_peer_link_mode {
CBC_PEER_LINK_MODE_DISABLED = 0,
CBC_PEER_LINK_MODE_SERVER,
CBC_PEER_LINK_MODE_CLIENT,
};
extern const struct value_string cbc_peer_link_mode_names[];
static inline const char *cbc_peer_link_mode_name(enum cbc_peer_link_mode val)
{ return get_value_string(cbc_peer_link_mode_names, val); }
struct cbc_peer {
struct llist_head list; /* linked to cbc.peers */
const char *name;
char *remote_host[CBC_MAX_REM_ADDRS]; /* remote IP address in string format */
unsigned int num_remote_host; /* number of addresses present in remote_host */
int remote_port; /* remote port number or -1 for random */
bool unknown_dynamic_peer; /* dynamic/unknown peer; not saved in VTY */
enum cbc_peer_protocol proto;
union {
struct cbc_cbsp_link *cbsp;
struct cbc_sabp_link *sabp;
struct cbc_sbcap_link *sbcap;
} link;
enum cbc_peer_link_mode link_mode;
};
extern const struct value_string cbc_peer_proto_name[];
struct cbc_peer *cbc_peer_create(const char *name, enum cbc_peer_protocol proto);
void cbc_peer_remove(struct cbc_peer *peer);
struct cbc_peer *cbc_peer_by_name(const char *name);
struct cbc_peer *cbc_peer_by_addr_proto(const char *remote_host, uint16_t remote_port,
enum cbc_peer_protocol proto);
int cbc_peer_apply_cfg_chg(struct cbc_peer *peer);

View File

@@ -0,0 +1,10 @@
#pragma once
enum cbc_vty_node {
CBC_NODE = _LAST_OSMOVTY_NODE + 1,
PEER_NODE,
CBSP_NODE,
SBcAP_NODE,
ECBE_NODE,
};
void cbc_vty_init(void);

View File

@@ -0,0 +1,52 @@
#pragma once
#include <osmocom/core/linuxlist.h>
#include <osmocom/gsm/cbsp.h>
#include <osmocom/netif/stream.h>
#include <osmocom/cbc/cbc_data.h>
#define LOGPCC(link, level, fmt, args...) \
LOGP(DCBSP, level, "%s: " fmt, cbc_cbsp_link_name(link), ## args)
struct cbc_cbsp_link;
struct osmo_fsm_inst;
struct cbc_peer;
/* Holder of all CBSP conn related information: */
struct cbc_cbsp_mgr {
/* libosmo-netif stream server */
struct osmo_stream_srv_link *srv_link;
/* BSCs / links connected to this CBC */
struct llist_head links;
/* receive call-back; called for every received message */
int (*rx_cb)(struct cbc_cbsp_link *link, struct osmo_cbsp_decoded *dec);
};
struct cbc_cbsp_mgr *cbc_cbsp_mgr_alloc(void *ctx);
int cbc_cbsp_mgr_open_srv(struct cbc_cbsp_mgr *mgr);
/* a CBSP link with a single (remote) peer connected to us */
struct cbc_cbsp_link {
/* entry in osmo_cbsp_cbc.links */
struct llist_head list;
/* partially received CBSP message (rx completion pending) */
struct msgb *rx_msg;
struct osmo_fsm_inst *fi;
struct cbc_peer *peer;
bool is_client;
union {
struct osmo_stream_srv *srv_conn;
struct osmo_stream_cli *cli_conn;
void *conn; /* used when we just care about the pointer */
};
};
struct cbc_cbsp_link *cbc_cbsp_link_alloc(struct cbc_cbsp_mgr *cbc, struct cbc_peer *peer);
void cbc_cbsp_link_free(struct cbc_cbsp_link *link);
const char *cbc_cbsp_link_name(const struct cbc_cbsp_link *link);
int cbc_cbsp_link_open_cli(struct cbc_cbsp_link *link);
int cbc_cbsp_link_tx(struct cbc_cbsp_link *link, struct osmo_cbsp_decoded *cbsp);
void cbc_cbsp_link_close(struct cbc_cbsp_link *link);
int cbc_cbsp_link_rx_cb(struct cbc_cbsp_link *link, struct osmo_cbsp_decoded *dec);

View File

@@ -0,0 +1,15 @@
#pragma once
#include <stdint.h>
#include <osmocom/core/fsm.h>
extern struct osmo_fsm cbsp_link_fsm;
enum cbsp_link_event {
CBSP_LINK_E_RX_RST_COMPL, /* reset complete received */
CBSP_LINK_E_RX_RST_FAIL, /* reset failure received */
CBSP_LINK_E_RX_KA_COMPL, /* keep-alive complete received */
CBSP_LINK_E_RX_RESTART, /* restart received */
CBSP_LINK_E_CMD_RESET, /* RESET command from CBC */
CBSP_LINK_E_CMD_CLOSE, /* CLOSE command from CBC */
};

View File

@@ -0,0 +1,5 @@
#pragma once
#include <osmocom/gsm/cbsp.h>
struct cbc_message;
struct osmo_cbsp_decoded *cbsp_gen_write_replace_req(void *ctx, const struct cbc_message *cbcmsg);

View File

@@ -0,0 +1,10 @@
#pragma once
enum {
DMAIN,
DSMSCB,
DCBSP,
DSBcAP,
DASN1C,
DREST,
};

View File

@@ -7,7 +7,7 @@
#include <osmocom/core/linuxlist.h>
#include <osmocom/core/it_q.h>
#include "cbc_data.h"
#include <osmocom/cbc/cbc_message.h>
enum rest_it_operation {
REST_IT_OP_NONE,
@@ -50,3 +50,4 @@ struct rest_it_op {
int rest_it_op_send_and_wait(struct rest_it_op *op);
void rest_it_op_set_http_result(struct rest_it_op *op, uint32_t code, const char *body);
void rest_it_op_complete(struct rest_it_op *op);
void rest2main_read_cb(struct osmo_it_q *q, struct llist_head *item);

View File

@@ -0,0 +1,52 @@
#pragma once
#include <osmocom/core/linuxlist.h>
#include <osmocom/netif/stream.h>
#include <osmocom/sbcap/sbcap_common.h>
#include "cbc_data.h"
#define SBcAP_SCTP_PORT 29168
typedef struct SBcAP_SBC_AP_PDU SBcAP_SBC_AP_PDU_t;
#define LOGPSBCAPC(link, level, fmt, args...) \
LOGP(DSBcAP, level, "%s: " fmt, cbc_sbcap_link_name(link), ## args)
struct cbc_sbcap_link;
struct osmo_fsm_inst;
struct cbc_peer;
/* Holder of all SBc-AP conn related information: */
struct cbc_sbcap_mgr {
/* libosmo-netif stream server */
struct osmo_stream_srv_link *srv_link;
/* MMEs / links connected to this CBC */
struct llist_head links;
/* receive call-back; called for every received message */
int (*rx_cb)(struct cbc_sbcap_link *link, SBcAP_SBC_AP_PDU_t *pdu);
};
struct cbc_sbcap_mgr *cbc_sbcap_mgr_alloc(void *ctx);
int cbc_sbcap_mgr_open_srv(struct cbc_sbcap_mgr *mgr);
/* an SBc-AP link with a single (remote) peer connected to us */
struct cbc_sbcap_link {
/* entry in osmo_sbcap_cbc.links */
struct llist_head list;
struct osmo_fsm_inst *fi;
struct cbc_peer *peer;
bool is_client;
union {
struct osmo_stream_srv *srv_conn;
struct osmo_stream_cli *cli_conn;
void *conn; /* used when we just care about the pointer */
};
};
struct cbc_sbcap_link *cbc_sbcap_link_alloc(struct cbc_sbcap_mgr *cbc, struct cbc_peer *peer);
void cbc_sbcap_link_free(struct cbc_sbcap_link *link);
const char *cbc_sbcap_link_name(const struct cbc_sbcap_link *link);
int cbc_sbcap_link_open_cli(struct cbc_sbcap_link *link);
int cbc_sbcap_link_tx(struct cbc_sbcap_link *link, SBcAP_SBC_AP_PDU_t *pdu);
void cbc_sbcap_link_close(struct cbc_sbcap_link *link);
int cbc_sbcap_link_rx_cb(struct cbc_sbcap_link *link, SBcAP_SBC_AP_PDU_t *pdu);

View File

@@ -0,0 +1,12 @@
#pragma once
#include <stdint.h>
#include <osmocom/core/fsm.h>
extern struct osmo_fsm sbcap_link_fsm;
enum sbcap_link_event {
SBcAP_LINK_E_RX_RESTART, /* SBc-AP PWS Restart Ind received */
SBcAP_LINK_E_CMD_RESET, /* RESET command from CBC */
SBcAP_LINK_E_CMD_CLOSE, /* CLOSE command from CBC */
};

View File

@@ -0,0 +1,17 @@
#pragma once
#include <osmocom/core/linuxlist.h>
#include <osmocom/netif/stream.h>
#include <osmocom/sbcap/sbcap_common.h>
#include "cbc_data.h"
struct cbc_message;
typedef struct SBcAP_SBC_AP_PDU SBcAP_SBC_AP_PDU_t;
SBcAP_SBC_AP_PDU_t *sbcap_gen_write_replace_warning_req(void *ctx, const struct cbc_message *cbcmsg);
SBcAP_SBC_AP_PDU_t *sbcap_gen_stop_warning_req(void *ctx, const struct cbc_message *cbcmsg);
SBcAP_SBC_AP_PDU_t *sbcap_gen_error_ind(void *ctx, SBcAP_Cause_t cause, SBcAP_SBC_AP_PDU_t *rx_pdu);
void cci_from_sbcap_bcast_cell_id(struct cbc_cell_id *cci, const SBcAP_CellId_Broadcast_List_Item_t *it);
void cci_from_sbcap_tai(struct cbc_cell_id *cci, const SBcAP_TAI_t *tai);

View File

@@ -0,0 +1,53 @@
#pragma once
#include <stdint.h>
#include <osmocom/core/fsm.h>
enum smscb_message_fsm_event {
SMSCB_MSG_E_CHILD_DIED,
/* create a message (from REST) */
SMSCB_MSG_E_CREATE,
/* replace a message (from REST) */
SMSCB_MSG_E_REPLACE,
/* get status of a message (from REST) */
SMSCB_MSG_E_STATUS,
/* delete a message (from REST) */
SMSCB_MSG_E_DELETE,
/* peer confirms write */
SMSCB_MSG_E_WRITE_ACK,
SMSCB_MSG_E_WRITE_NACK,
/* peer confirms replace */
SMSCB_MSG_E_REPLACE_ACK,
SMSCB_MSG_E_REPLACE_NACK,
/* peer confirms delete */
SMSCB_MSG_E_DELETE_ACK,
SMSCB_MSG_E_DELETE_NACK,
/* peer confirms status query */
SMSCB_MSG_E_STATUS_ACK,
SMSCB_MSG_E_STATUS_NACK
};
enum smscb_fsm_state {
/* initial state after creation */
SMSCB_S_INIT,
/* peer (BSC) have been notified of this SMSCB; we're waiting for ACK */
SMSCB_S_WAIT_WRITE_ACK,
/* peer (BSC) have confirmed it, message is active */
SMSCB_S_ACTIVE,
/* we have modified the message and sent REPLACE to peer; we're waiting for ACK */
SMSCB_S_WAIT_REPLACE_ACK,
/* we have modified the message and sent REPLACE to peer; we're waiting for ACK */
SMSCB_S_WAIT_STATUS_ACK,
/* we have deleted the message and sent KILL to peer; wait for ACK */
SMSCB_S_WAIT_DELETE_ACK,
SMSCB_S_DELETED,
};
enum smscb_p_fsm_timer {
T_WAIT_WRITE_ACK,
T_WAIT_REPLACE_ACK,
T_WAIT_STATUS_ACK,
T_WAIT_DELETE_ACK,
};
extern const struct value_string smscb_message_fsm_event_names[];

View File

@@ -0,0 +1,40 @@
#pragma once
#include <stdint.h>
#include <osmocom/core/fsm.h>
enum smscb_peer_fsm_event {
/* create a message (from REST) */
SMSCB_PEER_E_CREATE,
/* replace a message (from REST) */
SMSCB_PEER_E_REPLACE,
/* get status of a message (from REST) */
SMSCB_PEER_E_STATUS,
/* delete a message (from REST) */
SMSCB_PEER_E_DELETE,
/* CBSP peer confirms write */
SMSCB_PEER_E_CBSP_WRITE_ACK,
SMSCB_PEER_E_CBSP_WRITE_NACK,
/* CBSP peer confirms replace */
SMSCB_PEER_E_CBSP_REPLACE_ACK,
SMSCB_PEER_E_CBSP_REPLACE_NACK,
/* CBSP peer confirms delete */
SMSCB_PEER_E_CBSP_DELETE_ACK,
SMSCB_PEER_E_CBSP_DELETE_NACK,
/* CBSP peer confirms status query */
SMSCB_PEER_E_CBSP_STATUS_ACK,
SMSCB_PEER_E_CBSP_STATUS_NACK,
/* SBc-AP peer confirms write */
SMSCB_PEER_E_SBCAP_WRITE_ACK,
SMSCB_PEER_E_SBCAP_WRITE_NACK,
/* SBc-AP peer confirms delete */
SMSCB_PEER_E_SBCAP_DELETE_ACK,
SMSCB_PEER_E_SBCAP_DELETE_NACK,
/* SBc-AP peer sends Write Replace Warning Indication to us */
SMSCB_PEER_E_SBCAP_WRITE_IND,
};
extern const struct value_string smscb_peer_fsm_event_names[];
extern struct osmo_fsm cbsp_smscb_peer_fsm;
extern struct osmo_fsm sbcap_smscb_peer_fsm;

View File

@@ -0,0 +1,120 @@
sbcap_HEADERS = \
sbcap_common.h \
sbcap_internal.h \
SBcAP_Broadcast-Cancelled-Area-List-5GS.h \
SBcAP_Broadcast-Cancelled-Area-List.h \
SBcAP_Broadcast-Empty-Area-List-5GS.h \
SBcAP_Broadcast-Empty-Area-List.h \
SBcAP_Broadcast-Scheduled-Area-List-5GS.h \
SBcAP_Broadcast-Scheduled-Area-List.h \
SBcAP_CancelledCellinEAI.h \
SBcAP_CancelledCellinEAI-Item.h \
SBcAP_CancelledCellinTAI-5GS.h \
SBcAP_CancelledCellinTAI.h \
SBcAP_CancelledCellinTAI-Item.h \
SBcAP_Cause.h \
SBcAP_CellId-Broadcast-List-5GS.h \
SBcAP_CellId-Broadcast-List.h \
SBcAP_CellId-Broadcast-List-Item.h \
SBcAP_CellID-Cancelled-Item.h \
SBcAP_CellID-Cancelled-List-5GS.h \
SBcAP_CellID-Cancelled-List.h \
SBcAP_CellIdentity.h \
SBcAP_Concurrent-Warning-Message-Indicator.h \
SBcAP_Criticality-Diagnostics.h \
SBcAP_CriticalityDiagnostics-IE-List.h \
SBcAP_Criticality.h \
SBcAP_Data-Coding-Scheme.h \
SBcAP_ECGIList.h \
SBcAP_EmergencyAreaID-Broadcast-List.h \
SBcAP_EmergencyAreaID-Broadcast-List-Item.h \
SBcAP_EmergencyAreaID-Cancelled-Item.h \
SBcAP_EmergencyAreaID-Cancelled-List.h \
SBcAP_Emergency-Area-ID.h \
SBcAP_Emergency-Area-ID-List.h \
SBcAP_ENB-ID.h \
SBcAP_Error-Indication.h \
SBcAP_EUTRAN-CGI.h \
SBcAP_Extended-Repetition-Period.h \
SBcAP_EXTERNAL.h \
SBcAP_Failed-Cell-List.h \
SBcAP_Failed-Cell-List-NR.h \
SBcAP_Global-ENB-ID.h \
SBcAP_Global-GNB-ID.h \
SBcAP_Global-NgENB-ID.h \
SBcAP_Global-RAN-Node-ID.h \
SBcAP_GNB-ID.h \
SBcAP_InitiatingMessage.h \
SBcAP_List-of-5GS-Cells-for-Failure.h \
SBcAP_List-of-5GS-TAI-for-Restart.h \
SBcAP_List-of-5GS-TAIs.h \
SBcAP_List-of-EAIs-Restart.h \
SBcAP_List-of-TAIs.h \
SBcAP_List-of-TAIs-Restart.h \
SBcAP_Message-Identifier.h \
SBcAP_NgENB-ID.h \
SBcAP_NRCellIdentity.h \
SBcAP_NR-CGI.h \
SBcAP_NR-CGIList.h \
SBcAP_NumberOfBroadcasts.h \
SBcAP_Number-of-Broadcasts-Requested.h \
SBcAP_Omc-Id.h \
SBcAP_PLMNidentity.h \
SBcAP_Presence.h \
SBcAP_ProcedureCode.h \
SBcAP_ProtocolExtensionContainer.h \
SBcAP_ProtocolExtensionField.h \
SBcAP_ProtocolExtensionID.h \
SBcAP_ProtocolIE-Container.h \
SBcAP_ProtocolIE-ContainerList.h \
SBcAP_ProtocolIE-Field.h \
SBcAP_ProtocolIE-ID.h \
SBcAP_PWS-Failure-Indication.h \
SBcAP_PWS-Restart-Indication.h \
SBcAP_RAT-Selector-5GS.h \
SBcAP_Repetition-Period.h \
SBcAP_Restarted-Cell-List.h \
SBcAP_Restarted-Cell-List-NR.h \
SBcAP_SBC-AP-PDU.h \
SBcAP_ScheduledCellinEAI.h \
SBcAP_ScheduledCellinEAI-Item.h \
SBcAP_ScheduledCellinTAI-5GS.h \
SBcAP_ScheduledCellinTAI.h \
SBcAP_ScheduledCellinTAI-Item.h \
SBcAP_Send-Stop-Warning-Indication.h \
SBcAP_Send-Write-Replace-Warning-Indication.h \
SBcAP_Serial-Number.h \
SBcAP_Stop-All-Indicator.h \
SBcAP_Stop-Warning-Indication.h \
SBcAP_Stop-Warning-Request.h \
SBcAP_Stop-Warning-Response.h \
SBcAP_SuccessfulOutcome.h \
SBcAP_TAC-5GS.h \
SBcAP_TAC.h \
SBcAP_TAI-5GS.h \
SBcAP_TAI-Broadcast-List-5GS.h \
SBcAP_TAI-Broadcast-List.h \
SBcAP_TAI-Broadcast-List-Item.h \
SBcAP_TAI-Cancelled-List-5GS.h \
SBcAP_TAI-Cancelled-List.h \
SBcAP_TAI-Cancelled-List-Item.h \
SBcAP_TAI.h \
SBcAP_TAI-List-for-Warning.h \
SBcAP_TBCD-STRING.h \
SBcAP_TriggeringMessage.h \
SBcAP_TypeOfError.h \
SBcAP_Unknown-5GS-Tracking-Area-List.h \
SBcAP_Unknown-Tracking-Area-List.h \
SBcAP_UnsuccessfulOutcome.h \
SBcAP_Warning-Area-Coordinates.h \
SBcAP_Warning-Area-List-5GS.h \
SBcAP_Warning-Area-List.h \
SBcAP_Warning-Message-Content.h \
SBcAP_Warning-Security-Information.h \
SBcAP_Warning-Type.h \
SBcAP_Write-Replace-Warning-Indication.h \
SBcAP_Write-Replace-Warning-Request.h \
SBcAP_Write-Replace-Warning-Response.h \
$(NULL)
sbcapdir = $(includedir)/osmocom/sbcap

View File

@@ -0,0 +1,57 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "SBC-AP-IEs"
* found in "../../src/sbcap/asn1/SBC_AP_IEs.asn"
* `asn1c -S /home/pespin/dev/sysmocom/build/new/out/share/asn1c -fcompound-names -gen-APER -no-gen-BER -no-gen-XER -no-gen-JER -no-gen-OER -no-gen-UPER -no-gen-example`
*/
#ifndef _SBcAP_Broadcast_Cancelled_Area_List_5GS_H_
#define _SBcAP_Broadcast_Cancelled_Area_List_5GS_H_
#include <asn_application.h>
/* Including external dependencies */
#include <constr_SEQUENCE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Forward declarations */
struct SBcAP_CellID_Cancelled_List_5GS;
struct SBcAP_TAI_Cancelled_List_5GS;
struct SBcAP_EmergencyAreaID_Cancelled_List;
struct SBcAP_ProtocolExtensionContainer;
/* SBcAP_Broadcast-Cancelled-Area-List-5GS */
typedef struct SBcAP_Broadcast_Cancelled_Area_List_5GS {
struct SBcAP_CellID_Cancelled_List_5GS *cellID_Cancelled_List_5GS; /* OPTIONAL */
struct SBcAP_TAI_Cancelled_List_5GS *tAI_Cancelled_List_5GS; /* OPTIONAL */
struct SBcAP_EmergencyAreaID_Cancelled_List *emergencyAreaID_Cancelled_List; /* OPTIONAL */
struct SBcAP_ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */
/*
* This type is extensible,
* possible extensions are below.
*/
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_Broadcast_Cancelled_Area_List_5GS_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_Broadcast_Cancelled_Area_List_5GS;
extern asn_SEQUENCE_specifics_t asn_SPC_SBcAP_Broadcast_Cancelled_Area_List_5GS_specs_1;
extern asn_TYPE_member_t asn_MBR_SBcAP_Broadcast_Cancelled_Area_List_5GS_1[4];
#ifdef __cplusplus
}
#endif
/* Referred external types */
#include <osmocom/sbcap/SBcAP_CellID-Cancelled-List-5GS.h>
#include <osmocom/sbcap/SBcAP_TAI-Cancelled-List-5GS.h>
#include <osmocom/sbcap/SBcAP_EmergencyAreaID-Cancelled-List.h>
#endif /* _SBcAP_Broadcast_Cancelled_Area_List_5GS_H_ */
#include <asn_internal.h>

View File

@@ -0,0 +1,58 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "SBC-AP-IEs"
* found in "../../src/sbcap/asn1/SBC_AP_IEs.asn"
* `asn1c -S /home/pespin/dev/sysmocom/build/new/out/share/asn1c -fcompound-names -gen-APER -no-gen-BER -no-gen-XER -no-gen-JER -no-gen-OER -no-gen-UPER -no-gen-example`
*/
#ifndef _SBcAP_Broadcast_Cancelled_Area_List_H_
#define _SBcAP_Broadcast_Cancelled_Area_List_H_
#include <asn_application.h>
/* Including external dependencies */
#include <constr_SEQUENCE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Forward declarations */
struct SBcAP_CellID_Cancelled_List;
struct SBcAP_TAI_Cancelled_List;
struct SBcAP_EmergencyAreaID_Cancelled_List;
struct SBcAP_ProtocolExtensionContainer;
/* SBcAP_Broadcast-Cancelled-Area-List */
typedef struct SBcAP_Broadcast_Cancelled_Area_List {
struct SBcAP_CellID_Cancelled_List *cellID_Cancelled_List; /* OPTIONAL */
struct SBcAP_TAI_Cancelled_List *tAI_Cancelled_List; /* OPTIONAL */
struct SBcAP_EmergencyAreaID_Cancelled_List *emergencyAreaID_Cancelled_List; /* OPTIONAL */
struct SBcAP_ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */
/*
* This type is extensible,
* possible extensions are below.
*/
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_Broadcast_Cancelled_Area_List_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_Broadcast_Cancelled_Area_List;
extern asn_SEQUENCE_specifics_t asn_SPC_SBcAP_Broadcast_Cancelled_Area_List_specs_1;
extern asn_TYPE_member_t asn_MBR_SBcAP_Broadcast_Cancelled_Area_List_1[4];
#ifdef __cplusplus
}
#endif
/* Referred external types */
#include <osmocom/sbcap/SBcAP_CellID-Cancelled-List.h>
#include <osmocom/sbcap/SBcAP_TAI-Cancelled-List.h>
#include <osmocom/sbcap/SBcAP_EmergencyAreaID-Cancelled-List.h>
#include <osmocom/sbcap/SBcAP_ProtocolExtensionContainer.h>
#endif /* _SBcAP_Broadcast_Cancelled_Area_List_H_ */
#include <asn_internal.h>

View File

@@ -0,0 +1,47 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "SBC-AP-IEs"
* found in "../../src/sbcap/asn1/SBC_AP_IEs.asn"
* `asn1c -S /home/pespin/dev/sysmocom/build/new/out/share/asn1c -fcompound-names -gen-APER -no-gen-BER -no-gen-XER -no-gen-JER -no-gen-OER -no-gen-UPER -no-gen-example`
*/
#ifndef _SBcAP_Broadcast_Empty_Area_List_5GS_H_
#define _SBcAP_Broadcast_Empty_Area_List_5GS_H_
#include <asn_application.h>
/* Including external dependencies */
#include <asn_SEQUENCE_OF.h>
#include <constr_SEQUENCE_OF.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Forward declarations */
struct SBcAP_Global_RAN_Node_ID;
/* SBcAP_Broadcast-Empty-Area-List-5GS */
typedef struct SBcAP_Broadcast_Empty_Area_List_5GS {
A_SEQUENCE_OF(struct SBcAP_Global_RAN_Node_ID) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_Broadcast_Empty_Area_List_5GS_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_Broadcast_Empty_Area_List_5GS;
extern asn_SET_OF_specifics_t asn_SPC_SBcAP_Broadcast_Empty_Area_List_5GS_specs_1;
extern asn_TYPE_member_t asn_MBR_SBcAP_Broadcast_Empty_Area_List_5GS_1[1];
extern asn_per_constraints_t asn_PER_type_SBcAP_Broadcast_Empty_Area_List_5GS_constr_1;
#ifdef __cplusplus
}
#endif
/* Referred external types */
#include <osmocom/sbcap/SBcAP_Global-RAN-Node-ID.h>
#endif /* _SBcAP_Broadcast_Empty_Area_List_5GS_H_ */
#include <asn_internal.h>

View File

@@ -0,0 +1,47 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "SBC-AP-IEs"
* found in "../../src/sbcap/asn1/SBC_AP_IEs.asn"
* `asn1c -S /home/pespin/dev/sysmocom/build/new/out/share/asn1c -fcompound-names -gen-APER -no-gen-BER -no-gen-XER -no-gen-JER -no-gen-OER -no-gen-UPER -no-gen-example`
*/
#ifndef _SBcAP_Broadcast_Empty_Area_List_H_
#define _SBcAP_Broadcast_Empty_Area_List_H_
#include <asn_application.h>
/* Including external dependencies */
#include <asn_SEQUENCE_OF.h>
#include <constr_SEQUENCE_OF.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Forward declarations */
struct SBcAP_Global_ENB_ID;
/* SBcAP_Broadcast-Empty-Area-List */
typedef struct SBcAP_Broadcast_Empty_Area_List {
A_SEQUENCE_OF(struct SBcAP_Global_ENB_ID) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_Broadcast_Empty_Area_List_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_Broadcast_Empty_Area_List;
extern asn_SET_OF_specifics_t asn_SPC_SBcAP_Broadcast_Empty_Area_List_specs_1;
extern asn_TYPE_member_t asn_MBR_SBcAP_Broadcast_Empty_Area_List_1[1];
extern asn_per_constraints_t asn_PER_type_SBcAP_Broadcast_Empty_Area_List_constr_1;
#ifdef __cplusplus
}
#endif
/* Referred external types */
#include <osmocom/sbcap/SBcAP_Global-ENB-ID.h>
#endif /* _SBcAP_Broadcast_Empty_Area_List_H_ */
#include <asn_internal.h>

View File

@@ -0,0 +1,57 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "SBC-AP-IEs"
* found in "../../src/sbcap/asn1/SBC_AP_IEs.asn"
* `asn1c -S /home/pespin/dev/sysmocom/build/new/out/share/asn1c -fcompound-names -gen-APER -no-gen-BER -no-gen-XER -no-gen-JER -no-gen-OER -no-gen-UPER -no-gen-example`
*/
#ifndef _SBcAP_Broadcast_Scheduled_Area_List_5GS_H_
#define _SBcAP_Broadcast_Scheduled_Area_List_5GS_H_
#include <asn_application.h>
/* Including external dependencies */
#include <constr_SEQUENCE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Forward declarations */
struct SBcAP_CellId_Broadcast_List_5GS;
struct SBcAP_TAI_Broadcast_List_5GS;
struct SBcAP_EmergencyAreaID_Broadcast_List;
struct SBcAP_ProtocolExtensionContainer;
/* SBcAP_Broadcast-Scheduled-Area-List-5GS */
typedef struct SBcAP_Broadcast_Scheduled_Area_List_5GS {
struct SBcAP_CellId_Broadcast_List_5GS *cellId_Broadcast_List_5GS; /* OPTIONAL */
struct SBcAP_TAI_Broadcast_List_5GS *tAI_Broadcast_List_5GS; /* OPTIONAL */
struct SBcAP_EmergencyAreaID_Broadcast_List *emergencyAreaID_Broadcast_List; /* OPTIONAL */
struct SBcAP_ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */
/*
* This type is extensible,
* possible extensions are below.
*/
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_Broadcast_Scheduled_Area_List_5GS_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_Broadcast_Scheduled_Area_List_5GS;
extern asn_SEQUENCE_specifics_t asn_SPC_SBcAP_Broadcast_Scheduled_Area_List_5GS_specs_1;
extern asn_TYPE_member_t asn_MBR_SBcAP_Broadcast_Scheduled_Area_List_5GS_1[4];
#ifdef __cplusplus
}
#endif
/* Referred external types */
#include <osmocom/sbcap/SBcAP_CellId-Broadcast-List-5GS.h>
#include <osmocom/sbcap/SBcAP_TAI-Broadcast-List-5GS.h>
#include <osmocom/sbcap/SBcAP_EmergencyAreaID-Broadcast-List.h>
#endif /* _SBcAP_Broadcast_Scheduled_Area_List_5GS_H_ */
#include <asn_internal.h>

View File

@@ -0,0 +1,58 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "SBC-AP-IEs"
* found in "../../src/sbcap/asn1/SBC_AP_IEs.asn"
* `asn1c -S /home/pespin/dev/sysmocom/build/new/out/share/asn1c -fcompound-names -gen-APER -no-gen-BER -no-gen-XER -no-gen-JER -no-gen-OER -no-gen-UPER -no-gen-example`
*/
#ifndef _SBcAP_Broadcast_Scheduled_Area_List_H_
#define _SBcAP_Broadcast_Scheduled_Area_List_H_
#include <asn_application.h>
/* Including external dependencies */
#include <constr_SEQUENCE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Forward declarations */
struct SBcAP_CellId_Broadcast_List;
struct SBcAP_TAI_Broadcast_List;
struct SBcAP_EmergencyAreaID_Broadcast_List;
struct SBcAP_ProtocolExtensionContainer;
/* SBcAP_Broadcast-Scheduled-Area-List */
typedef struct SBcAP_Broadcast_Scheduled_Area_List {
struct SBcAP_CellId_Broadcast_List *cellId_Broadcast_List; /* OPTIONAL */
struct SBcAP_TAI_Broadcast_List *tAI_Broadcast_List; /* OPTIONAL */
struct SBcAP_EmergencyAreaID_Broadcast_List *emergencyAreaID_Broadcast_List; /* OPTIONAL */
struct SBcAP_ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */
/*
* This type is extensible,
* possible extensions are below.
*/
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_Broadcast_Scheduled_Area_List_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_Broadcast_Scheduled_Area_List;
extern asn_SEQUENCE_specifics_t asn_SPC_SBcAP_Broadcast_Scheduled_Area_List_specs_1;
extern asn_TYPE_member_t asn_MBR_SBcAP_Broadcast_Scheduled_Area_List_1[4];
#ifdef __cplusplus
}
#endif
/* Referred external types */
#include <osmocom/sbcap/SBcAP_CellId-Broadcast-List.h>
#include <osmocom/sbcap/SBcAP_TAI-Broadcast-List.h>
#include <osmocom/sbcap/SBcAP_EmergencyAreaID-Broadcast-List.h>
#include <osmocom/sbcap/SBcAP_ProtocolExtensionContainer.h>
#endif /* _SBcAP_Broadcast_Scheduled_Area_List_H_ */
#include <asn_internal.h>

View File

@@ -0,0 +1,53 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "SBC-AP-IEs"
* found in "../../src/sbcap/asn1/SBC_AP_IEs.asn"
* `asn1c -S /home/pespin/dev/sysmocom/build/new/out/share/asn1c -fcompound-names -gen-APER -no-gen-BER -no-gen-XER -no-gen-JER -no-gen-OER -no-gen-UPER -no-gen-example`
*/
#ifndef _SBcAP_CancelledCellinEAI_Item_H_
#define _SBcAP_CancelledCellinEAI_Item_H_
#include <asn_application.h>
/* Including external dependencies */
#include <osmocom/sbcap/SBcAP_EUTRAN-CGI.h>
#include <osmocom/sbcap/SBcAP_NumberOfBroadcasts.h>
#include <constr_SEQUENCE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Forward declarations */
struct SBcAP_ProtocolExtensionContainer;
/* SBcAP_CancelledCellinEAI-Item */
typedef struct SBcAP_CancelledCellinEAI_Item {
SBcAP_EUTRAN_CGI_t eCGI;
SBcAP_NumberOfBroadcasts_t numberOfBroadcasts;
struct SBcAP_ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */
/*
* This type is extensible,
* possible extensions are below.
*/
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_CancelledCellinEAI_Item_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_CancelledCellinEAI_Item;
extern asn_SEQUENCE_specifics_t asn_SPC_SBcAP_CancelledCellinEAI_Item_specs_1;
extern asn_TYPE_member_t asn_MBR_SBcAP_CancelledCellinEAI_Item_1[3];
#ifdef __cplusplus
}
#endif
/* Referred external types */
#include <osmocom/sbcap/SBcAP_ProtocolExtensionContainer.h>
#endif /* _SBcAP_CancelledCellinEAI_Item_H_ */
#include <asn_internal.h>

View File

@@ -0,0 +1,47 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "SBC-AP-IEs"
* found in "../../src/sbcap/asn1/SBC_AP_IEs.asn"
* `asn1c -S /home/pespin/dev/sysmocom/build/new/out/share/asn1c -fcompound-names -gen-APER -no-gen-BER -no-gen-XER -no-gen-JER -no-gen-OER -no-gen-UPER -no-gen-example`
*/
#ifndef _SBcAP_CancelledCellinEAI_H_
#define _SBcAP_CancelledCellinEAI_H_
#include <asn_application.h>
/* Including external dependencies */
#include <asn_SEQUENCE_OF.h>
#include <constr_SEQUENCE_OF.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Forward declarations */
struct SBcAP_CancelledCellinEAI_Item;
/* SBcAP_CancelledCellinEAI */
typedef struct SBcAP_CancelledCellinEAI {
A_SEQUENCE_OF(struct SBcAP_CancelledCellinEAI_Item) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_CancelledCellinEAI_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_CancelledCellinEAI;
extern asn_SET_OF_specifics_t asn_SPC_SBcAP_CancelledCellinEAI_specs_1;
extern asn_TYPE_member_t asn_MBR_SBcAP_CancelledCellinEAI_1[1];
extern asn_per_constraints_t asn_PER_type_SBcAP_CancelledCellinEAI_constr_1;
#ifdef __cplusplus
}
#endif
/* Referred external types */
#include <osmocom/sbcap/SBcAP_CancelledCellinEAI-Item.h>
#endif /* _SBcAP_CancelledCellinEAI_H_ */
#include <asn_internal.h>

View File

@@ -0,0 +1,64 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "SBC-AP-IEs"
* found in "../../src/sbcap/asn1/SBC_AP_IEs.asn"
* `asn1c -S /home/pespin/dev/sysmocom/build/new/out/share/asn1c -fcompound-names -gen-APER -no-gen-BER -no-gen-XER -no-gen-JER -no-gen-OER -no-gen-UPER -no-gen-example`
*/
#ifndef _SBcAP_CancelledCellinTAI_5GS_H_
#define _SBcAP_CancelledCellinTAI_5GS_H_
#include <asn_application.h>
/* Including external dependencies */
#include <asn_SEQUENCE_OF.h>
#include <osmocom/sbcap/SBcAP_NR-CGI.h>
#include <osmocom/sbcap/SBcAP_NumberOfBroadcasts.h>
#include <constr_SEQUENCE.h>
#include <constr_SEQUENCE_OF.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Forward declarations */
struct SBcAP_ProtocolExtensionContainer;
/* Forward definitions */
typedef struct SBcAP_CancelledCellinTAI_5GS__Member {
SBcAP_NR_CGI_t nR_CGI;
SBcAP_NumberOfBroadcasts_t numberOfBroadcasts;
struct SBcAP_ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */
/*
* This type is extensible,
* possible extensions are below.
*/
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} CancelledCellinTAI_5GS__Member;
/* SBcAP_CancelledCellinTAI-5GS */
typedef struct SBcAP_CancelledCellinTAI_5GS {
A_SEQUENCE_OF(CancelledCellinTAI_5GS__Member) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_CancelledCellinTAI_5GS_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_CancelledCellinTAI_5GS;
extern asn_SET_OF_specifics_t asn_SPC_SBcAP_CancelledCellinTAI_5GS_specs_1;
extern asn_TYPE_member_t asn_MBR_SBcAP_CancelledCellinTAI_5GS_1[1];
extern asn_per_constraints_t asn_PER_type_SBcAP_CancelledCellinTAI_5GS_constr_1;
#ifdef __cplusplus
}
#endif
/* Referred external types */
#include <osmocom/sbcap/SBcAP_ProtocolExtensionContainer.h>
#endif /* _SBcAP_CancelledCellinTAI_5GS_H_ */
#include <asn_internal.h>

View File

@@ -0,0 +1,53 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "SBC-AP-IEs"
* found in "../../src/sbcap/asn1/SBC_AP_IEs.asn"
* `asn1c -S /home/pespin/dev/sysmocom/build/new/out/share/asn1c -fcompound-names -gen-APER -no-gen-BER -no-gen-XER -no-gen-JER -no-gen-OER -no-gen-UPER -no-gen-example`
*/
#ifndef _SBcAP_CancelledCellinTAI_Item_H_
#define _SBcAP_CancelledCellinTAI_Item_H_
#include <asn_application.h>
/* Including external dependencies */
#include <osmocom/sbcap/SBcAP_EUTRAN-CGI.h>
#include <osmocom/sbcap/SBcAP_NumberOfBroadcasts.h>
#include <constr_SEQUENCE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Forward declarations */
struct SBcAP_ProtocolExtensionContainer;
/* SBcAP_CancelledCellinTAI-Item */
typedef struct SBcAP_CancelledCellinTAI_Item {
SBcAP_EUTRAN_CGI_t eCGI;
SBcAP_NumberOfBroadcasts_t numberOfBroadcasts;
struct SBcAP_ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */
/*
* This type is extensible,
* possible extensions are below.
*/
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_CancelledCellinTAI_Item_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_CancelledCellinTAI_Item;
extern asn_SEQUENCE_specifics_t asn_SPC_SBcAP_CancelledCellinTAI_Item_specs_1;
extern asn_TYPE_member_t asn_MBR_SBcAP_CancelledCellinTAI_Item_1[3];
#ifdef __cplusplus
}
#endif
/* Referred external types */
#include <osmocom/sbcap/SBcAP_ProtocolExtensionContainer.h>
#endif /* _SBcAP_CancelledCellinTAI_Item_H_ */
#include <asn_internal.h>

View File

@@ -0,0 +1,47 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "SBC-AP-IEs"
* found in "../../src/sbcap/asn1/SBC_AP_IEs.asn"
* `asn1c -S /home/pespin/dev/sysmocom/build/new/out/share/asn1c -fcompound-names -gen-APER -no-gen-BER -no-gen-XER -no-gen-JER -no-gen-OER -no-gen-UPER -no-gen-example`
*/
#ifndef _SBcAP_CancelledCellinTAI_H_
#define _SBcAP_CancelledCellinTAI_H_
#include <asn_application.h>
/* Including external dependencies */
#include <asn_SEQUENCE_OF.h>
#include <constr_SEQUENCE_OF.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Forward declarations */
struct SBcAP_CancelledCellinTAI_Item;
/* SBcAP_CancelledCellinTAI */
typedef struct SBcAP_CancelledCellinTAI {
A_SEQUENCE_OF(struct SBcAP_CancelledCellinTAI_Item) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_CancelledCellinTAI_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_CancelledCellinTAI;
extern asn_SET_OF_specifics_t asn_SPC_SBcAP_CancelledCellinTAI_specs_1;
extern asn_TYPE_member_t asn_MBR_SBcAP_CancelledCellinTAI_1[1];
extern asn_per_constraints_t asn_PER_type_SBcAP_CancelledCellinTAI_constr_1;
#ifdef __cplusplus
}
#endif
/* Referred external types */
#include <osmocom/sbcap/SBcAP_CancelledCellinTAI-Item.h>
#endif /* _SBcAP_CancelledCellinTAI_H_ */
#include <asn_internal.h>

View File

@@ -0,0 +1,61 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "SBC-AP-IEs"
* found in "../../src/sbcap/asn1/SBC_AP_IEs.asn"
* `asn1c -S /home/pespin/dev/sysmocom/build/new/out/share/asn1c -fcompound-names -gen-APER -no-gen-BER -no-gen-XER -no-gen-JER -no-gen-OER -no-gen-UPER -no-gen-example`
*/
#ifndef _SBcAP_Cause_H_
#define _SBcAP_Cause_H_
#include <asn_application.h>
/* Including external dependencies */
#include <NativeInteger.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum SBcAP_Cause {
SBcAP_Cause_message_accepted = 0,
SBcAP_Cause_parameter_not_recognised = 1,
SBcAP_Cause_parameter_value_invalid = 2,
SBcAP_Cause_valid_message_not_identified = 3,
SBcAP_Cause_tracking_area_not_valid = 4,
SBcAP_Cause_unrecognised_message = 5,
SBcAP_Cause_missing_mandatory_element = 6,
SBcAP_Cause_mME_capacity_exceeded = 7,
SBcAP_Cause_mME_memory_exceeded = 8,
SBcAP_Cause_warning_broadcast_not_supported = 9,
SBcAP_Cause_warning_broadcast_not_operational = 10,
SBcAP_Cause_message_reference_already_used = 11,
SBcAP_Cause_unspecifed_error = 12,
SBcAP_Cause_transfer_syntax_error = 13,
SBcAP_Cause_semantic_error = 14,
SBcAP_Cause_message_not_compatible_with_receiver_state = 15,
SBcAP_Cause_abstract_syntax_error_reject = 16,
SBcAP_Cause_abstract_syntax_error_ignore_and_notify = 17,
SBcAP_Cause_abstract_syntax_error_falsely_constructed_message = 18
} e_SBcAP_Cause;
/* SBcAP_Cause */
typedef long SBcAP_Cause_t;
/* Implementation */
extern asn_per_constraints_t asn_PER_type_SBcAP_Cause_constr_1;
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_Cause;
asn_struct_free_f SBcAP_Cause_free;
asn_struct_print_f SBcAP_Cause_print;
asn_constr_check_f SBcAP_Cause_constraint;
per_type_decoder_f SBcAP_Cause_decode_aper;
per_type_encoder_f SBcAP_Cause_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _SBcAP_Cause_H_ */
#include <asn_internal.h>

View File

@@ -0,0 +1,53 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "SBC-AP-IEs"
* found in "../../src/sbcap/asn1/SBC_AP_IEs.asn"
* `asn1c -S /home/pespin/dev/sysmocom/build/new/out/share/asn1c -fcompound-names -gen-APER -no-gen-BER -no-gen-XER -no-gen-JER -no-gen-OER -no-gen-UPER -no-gen-example`
*/
#ifndef _SBcAP_CellID_Cancelled_Item_H_
#define _SBcAP_CellID_Cancelled_Item_H_
#include <asn_application.h>
/* Including external dependencies */
#include <osmocom/sbcap/SBcAP_EUTRAN-CGI.h>
#include <osmocom/sbcap/SBcAP_NumberOfBroadcasts.h>
#include <constr_SEQUENCE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Forward declarations */
struct SBcAP_ProtocolExtensionContainer;
/* SBcAP_CellID-Cancelled-Item */
typedef struct SBcAP_CellID_Cancelled_Item {
SBcAP_EUTRAN_CGI_t eCGI;
SBcAP_NumberOfBroadcasts_t numberOfBroadcasts;
struct SBcAP_ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */
/*
* This type is extensible,
* possible extensions are below.
*/
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_CellID_Cancelled_Item_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_CellID_Cancelled_Item;
extern asn_SEQUENCE_specifics_t asn_SPC_SBcAP_CellID_Cancelled_Item_specs_1;
extern asn_TYPE_member_t asn_MBR_SBcAP_CellID_Cancelled_Item_1[3];
#ifdef __cplusplus
}
#endif
/* Referred external types */
#include <osmocom/sbcap/SBcAP_ProtocolExtensionContainer.h>
#endif /* _SBcAP_CellID_Cancelled_Item_H_ */
#include <asn_internal.h>

View File

@@ -0,0 +1,64 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "SBC-AP-IEs"
* found in "../../src/sbcap/asn1/SBC_AP_IEs.asn"
* `asn1c -S /home/pespin/dev/sysmocom/build/new/out/share/asn1c -fcompound-names -gen-APER -no-gen-BER -no-gen-XER -no-gen-JER -no-gen-OER -no-gen-UPER -no-gen-example`
*/
#ifndef _SBcAP_CellID_Cancelled_List_5GS_H_
#define _SBcAP_CellID_Cancelled_List_5GS_H_
#include <asn_application.h>
/* Including external dependencies */
#include <asn_SEQUENCE_OF.h>
#include <osmocom/sbcap/SBcAP_NR-CGI.h>
#include <osmocom/sbcap/SBcAP_NumberOfBroadcasts.h>
#include <constr_SEQUENCE.h>
#include <constr_SEQUENCE_OF.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Forward declarations */
struct SBcAP_ProtocolExtensionContainer;
/* Forward definitions */
typedef struct SBcAP_CellID_Cancelled_List_5GS__Member {
SBcAP_NR_CGI_t nR_CGI;
SBcAP_NumberOfBroadcasts_t numberOfBroadcasts;
struct SBcAP_ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */
/*
* This type is extensible,
* possible extensions are below.
*/
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} CellID_Cancelled_List_5GS__Member;
/* SBcAP_CellID-Cancelled-List-5GS */
typedef struct SBcAP_CellID_Cancelled_List_5GS {
A_SEQUENCE_OF(CellID_Cancelled_List_5GS__Member) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_CellID_Cancelled_List_5GS_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_CellID_Cancelled_List_5GS;
extern asn_SET_OF_specifics_t asn_SPC_SBcAP_CellID_Cancelled_List_5GS_specs_1;
extern asn_TYPE_member_t asn_MBR_SBcAP_CellID_Cancelled_List_5GS_1[1];
extern asn_per_constraints_t asn_PER_type_SBcAP_CellID_Cancelled_List_5GS_constr_1;
#ifdef __cplusplus
}
#endif
/* Referred external types */
#include <osmocom/sbcap/SBcAP_ProtocolExtensionContainer.h>
#endif /* _SBcAP_CellID_Cancelled_List_5GS_H_ */
#include <asn_internal.h>

View File

@@ -0,0 +1,47 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "SBC-AP-IEs"
* found in "../../src/sbcap/asn1/SBC_AP_IEs.asn"
* `asn1c -S /home/pespin/dev/sysmocom/build/new/out/share/asn1c -fcompound-names -gen-APER -no-gen-BER -no-gen-XER -no-gen-JER -no-gen-OER -no-gen-UPER -no-gen-example`
*/
#ifndef _SBcAP_CellID_Cancelled_List_H_
#define _SBcAP_CellID_Cancelled_List_H_
#include <asn_application.h>
/* Including external dependencies */
#include <asn_SEQUENCE_OF.h>
#include <constr_SEQUENCE_OF.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Forward declarations */
struct SBcAP_CellID_Cancelled_Item;
/* SBcAP_CellID-Cancelled-List */
typedef struct SBcAP_CellID_Cancelled_List {
A_SEQUENCE_OF(struct SBcAP_CellID_Cancelled_Item) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_CellID_Cancelled_List_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_CellID_Cancelled_List;
extern asn_SET_OF_specifics_t asn_SPC_SBcAP_CellID_Cancelled_List_specs_1;
extern asn_TYPE_member_t asn_MBR_SBcAP_CellID_Cancelled_List_1[1];
extern asn_per_constraints_t asn_PER_type_SBcAP_CellID_Cancelled_List_constr_1;
#ifdef __cplusplus
}
#endif
/* Referred external types */
#include <osmocom/sbcap/SBcAP_CellID-Cancelled-Item.h>
#endif /* _SBcAP_CellID_Cancelled_List_H_ */
#include <asn_internal.h>

View File

@@ -0,0 +1,62 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "SBC-AP-IEs"
* found in "../../src/sbcap/asn1/SBC_AP_IEs.asn"
* `asn1c -S /home/pespin/dev/sysmocom/build/new/out/share/asn1c -fcompound-names -gen-APER -no-gen-BER -no-gen-XER -no-gen-JER -no-gen-OER -no-gen-UPER -no-gen-example`
*/
#ifndef _SBcAP_CellId_Broadcast_List_5GS_H_
#define _SBcAP_CellId_Broadcast_List_5GS_H_
#include <asn_application.h>
/* Including external dependencies */
#include <asn_SEQUENCE_OF.h>
#include <osmocom/sbcap/SBcAP_NR-CGI.h>
#include <constr_SEQUENCE.h>
#include <constr_SEQUENCE_OF.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Forward declarations */
struct SBcAP_ProtocolExtensionContainer;
/* Forward definitions */
typedef struct SBcAP_CellId_Broadcast_List_5GS__Member {
SBcAP_NR_CGI_t nR_CGI;
struct SBcAP_ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */
/*
* This type is extensible,
* possible extensions are below.
*/
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} CellId_Broadcast_List_5GS__Member;
/* SBcAP_CellId-Broadcast-List-5GS */
typedef struct SBcAP_CellId_Broadcast_List_5GS {
A_SEQUENCE_OF(CellId_Broadcast_List_5GS__Member) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_CellId_Broadcast_List_5GS_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_CellId_Broadcast_List_5GS;
extern asn_SET_OF_specifics_t asn_SPC_SBcAP_CellId_Broadcast_List_5GS_specs_1;
extern asn_TYPE_member_t asn_MBR_SBcAP_CellId_Broadcast_List_5GS_1[1];
extern asn_per_constraints_t asn_PER_type_SBcAP_CellId_Broadcast_List_5GS_constr_1;
#ifdef __cplusplus
}
#endif
/* Referred external types */
#include <osmocom/sbcap/SBcAP_ProtocolExtensionContainer.h>
#endif /* _SBcAP_CellId_Broadcast_List_5GS_H_ */
#include <asn_internal.h>

View File

@@ -0,0 +1,51 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "SBC-AP-IEs"
* found in "../../src/sbcap/asn1/SBC_AP_IEs.asn"
* `asn1c -S /home/pespin/dev/sysmocom/build/new/out/share/asn1c -fcompound-names -gen-APER -no-gen-BER -no-gen-XER -no-gen-JER -no-gen-OER -no-gen-UPER -no-gen-example`
*/
#ifndef _SBcAP_CellId_Broadcast_List_Item_H_
#define _SBcAP_CellId_Broadcast_List_Item_H_
#include <asn_application.h>
/* Including external dependencies */
#include <osmocom/sbcap/SBcAP_EUTRAN-CGI.h>
#include <constr_SEQUENCE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Forward declarations */
struct SBcAP_ProtocolExtensionContainer;
/* SBcAP_CellId-Broadcast-List-Item */
typedef struct SBcAP_CellId_Broadcast_List_Item {
SBcAP_EUTRAN_CGI_t eCGI;
struct SBcAP_ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */
/*
* This type is extensible,
* possible extensions are below.
*/
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_CellId_Broadcast_List_Item_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_CellId_Broadcast_List_Item;
extern asn_SEQUENCE_specifics_t asn_SPC_SBcAP_CellId_Broadcast_List_Item_specs_1;
extern asn_TYPE_member_t asn_MBR_SBcAP_CellId_Broadcast_List_Item_1[2];
#ifdef __cplusplus
}
#endif
/* Referred external types */
#include <osmocom/sbcap/SBcAP_ProtocolExtensionContainer.h>
#endif /* _SBcAP_CellId_Broadcast_List_Item_H_ */
#include <asn_internal.h>

View File

@@ -0,0 +1,47 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "SBC-AP-IEs"
* found in "../../src/sbcap/asn1/SBC_AP_IEs.asn"
* `asn1c -S /home/pespin/dev/sysmocom/build/new/out/share/asn1c -fcompound-names -gen-APER -no-gen-BER -no-gen-XER -no-gen-JER -no-gen-OER -no-gen-UPER -no-gen-example`
*/
#ifndef _SBcAP_CellId_Broadcast_List_H_
#define _SBcAP_CellId_Broadcast_List_H_
#include <asn_application.h>
/* Including external dependencies */
#include <asn_SEQUENCE_OF.h>
#include <constr_SEQUENCE_OF.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Forward declarations */
struct SBcAP_CellId_Broadcast_List_Item;
/* SBcAP_CellId-Broadcast-List */
typedef struct SBcAP_CellId_Broadcast_List {
A_SEQUENCE_OF(struct SBcAP_CellId_Broadcast_List_Item) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_CellId_Broadcast_List_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_CellId_Broadcast_List;
extern asn_SET_OF_specifics_t asn_SPC_SBcAP_CellId_Broadcast_List_specs_1;
extern asn_TYPE_member_t asn_MBR_SBcAP_CellId_Broadcast_List_1[1];
extern asn_per_constraints_t asn_PER_type_SBcAP_CellId_Broadcast_List_constr_1;
#ifdef __cplusplus
}
#endif
/* Referred external types */
#include <osmocom/sbcap/SBcAP_CellId-Broadcast-List-Item.h>
#endif /* _SBcAP_CellId_Broadcast_List_H_ */
#include <asn_internal.h>

View File

@@ -0,0 +1,38 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "SBC-AP-IEs"
* found in "../../src/sbcap/asn1/SBC_AP_IEs.asn"
* `asn1c -S /home/pespin/dev/sysmocom/build/new/out/share/asn1c -fcompound-names -gen-APER -no-gen-BER -no-gen-XER -no-gen-JER -no-gen-OER -no-gen-UPER -no-gen-example`
*/
#ifndef _SBcAP_CellIdentity_H_
#define _SBcAP_CellIdentity_H_
#include <asn_application.h>
/* Including external dependencies */
#include <BIT_STRING.h>
#ifdef __cplusplus
extern "C" {
#endif
/* SBcAP_CellIdentity */
typedef BIT_STRING_t SBcAP_CellIdentity_t;
/* Implementation */
extern asn_per_constraints_t asn_PER_type_SBcAP_CellIdentity_constr_1;
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_CellIdentity;
asn_struct_free_f SBcAP_CellIdentity_free;
asn_struct_print_f SBcAP_CellIdentity_print;
asn_constr_check_f SBcAP_CellIdentity_constraint;
per_type_decoder_f SBcAP_CellIdentity_decode_aper;
per_type_encoder_f SBcAP_CellIdentity_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _SBcAP_CellIdentity_H_ */
#include <asn_internal.h>

View File

@@ -0,0 +1,44 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "SBC-AP-IEs"
* found in "../../src/sbcap/asn1/SBC_AP_IEs.asn"
* `asn1c -S /home/pespin/dev/sysmocom/build/new/out/share/asn1c -fcompound-names -gen-APER -no-gen-BER -no-gen-XER -no-gen-JER -no-gen-OER -no-gen-UPER -no-gen-example`
*/
#ifndef _SBcAP_Concurrent_Warning_Message_Indicator_H_
#define _SBcAP_Concurrent_Warning_Message_Indicator_H_
#include <asn_application.h>
/* Including external dependencies */
#include <NativeEnumerated.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum SBcAP_Concurrent_Warning_Message_Indicator {
SBcAP_Concurrent_Warning_Message_Indicator_true = 0
} e_SBcAP_Concurrent_Warning_Message_Indicator;
/* SBcAP_Concurrent-Warning-Message-Indicator */
typedef long SBcAP_Concurrent_Warning_Message_Indicator_t;
/* Implementation */
extern asn_per_constraints_t asn_PER_type_SBcAP_Concurrent_Warning_Message_Indicator_constr_1;
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_Concurrent_Warning_Message_Indicator;
extern const asn_INTEGER_specifics_t asn_SPC_Concurrent_Warning_Message_Indicator_specs_1;
asn_struct_free_f Concurrent_Warning_Message_Indicator_free;
asn_struct_print_f Concurrent_Warning_Message_Indicator_print;
asn_constr_check_f Concurrent_Warning_Message_Indicator_constraint;
per_type_decoder_f Concurrent_Warning_Message_Indicator_decode_aper;
per_type_encoder_f Concurrent_Warning_Message_Indicator_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _SBcAP_Concurrent_Warning_Message_Indicator_H_ */
#include <asn_internal.h>

View File

@@ -0,0 +1,58 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "SBC-AP-IEs"
* found in "../../src/sbcap/asn1/SBC_AP_IEs.asn"
* `asn1c -S /home/pespin/dev/sysmocom/build/new/out/share/asn1c -fcompound-names -gen-APER -no-gen-BER -no-gen-XER -no-gen-JER -no-gen-OER -no-gen-UPER -no-gen-example`
*/
#ifndef _SBcAP_Criticality_Diagnostics_H_
#define _SBcAP_Criticality_Diagnostics_H_
#include <asn_application.h>
/* Including external dependencies */
#include <osmocom/sbcap/SBcAP_ProcedureCode.h>
#include <osmocom/sbcap/SBcAP_TriggeringMessage.h>
#include <osmocom/sbcap/SBcAP_Criticality.h>
#include <constr_SEQUENCE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Forward declarations */
struct SBcAP_CriticalityDiagnostics_IE_List;
struct SBcAP_ProtocolExtensionContainer;
/* SBcAP_Criticality-Diagnostics */
typedef struct SBcAP_Criticality_Diagnostics {
SBcAP_ProcedureCode_t *procedureCode; /* OPTIONAL */
SBcAP_TriggeringMessage_t *triggeringMessage; /* OPTIONAL */
SBcAP_Criticality_t *procedureCriticality; /* OPTIONAL */
struct SBcAP_CriticalityDiagnostics_IE_List *iE_CriticalityDiagnostics; /* OPTIONAL */
struct SBcAP_ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */
/*
* This type is extensible,
* possible extensions are below.
*/
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_Criticality_Diagnostics_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_Criticality_Diagnostics;
extern asn_SEQUENCE_specifics_t asn_SPC_SBcAP_Criticality_Diagnostics_specs_1;
extern asn_TYPE_member_t asn_MBR_SBcAP_Criticality_Diagnostics_1[5];
#ifdef __cplusplus
}
#endif
/* Referred external types */
#include <osmocom/sbcap/SBcAP_CriticalityDiagnostics-IE-List.h>
#include <osmocom/sbcap/SBcAP_ProtocolExtensionContainer.h>
#endif /* _SBcAP_Criticality_Diagnostics_H_ */
#include <asn_internal.h>

View File

@@ -0,0 +1,46 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "SBC-AP-CommonDataTypes"
* found in "../../src/sbcap/asn1/SBC_AP_CommonDataTypes.asn"
* `asn1c -S /home/pespin/dev/sysmocom/build/new/out/share/asn1c -fcompound-names -gen-APER -no-gen-BER -no-gen-XER -no-gen-JER -no-gen-OER -no-gen-UPER -no-gen-example`
*/
#ifndef _SBcAP_Criticality_H_
#define _SBcAP_Criticality_H_
#include <asn_application.h>
/* Including external dependencies */
#include <NativeEnumerated.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum SBcAP_Criticality {
SBcAP_Criticality_reject = 0,
SBcAP_Criticality_ignore = 1,
SBcAP_Criticality_notify = 2
} e_SBcAP_Criticality;
/* SBcAP_Criticality */
typedef long SBcAP_Criticality_t;
/* Implementation */
extern asn_per_constraints_t asn_PER_type_SBcAP_Criticality_constr_1;
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_Criticality;
extern const asn_INTEGER_specifics_t asn_SPC_Criticality_specs_1;
asn_struct_free_f Criticality_free;
asn_struct_print_f Criticality_print;
asn_constr_check_f Criticality_constraint;
per_type_decoder_f Criticality_decode_aper;
per_type_encoder_f Criticality_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _SBcAP_Criticality_H_ */
#include <asn_internal.h>

View File

@@ -0,0 +1,66 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "SBC-AP-IEs"
* found in "../../src/sbcap/asn1/SBC_AP_IEs.asn"
* `asn1c -S /home/pespin/dev/sysmocom/build/new/out/share/asn1c -fcompound-names -gen-APER -no-gen-BER -no-gen-XER -no-gen-JER -no-gen-OER -no-gen-UPER -no-gen-example`
*/
#ifndef _SBcAP_CriticalityDiagnostics_IE_List_H_
#define _SBcAP_CriticalityDiagnostics_IE_List_H_
#include <asn_application.h>
/* Including external dependencies */
#include <asn_SEQUENCE_OF.h>
#include <osmocom/sbcap/SBcAP_Criticality.h>
#include <osmocom/sbcap/SBcAP_ProtocolIE-ID.h>
#include <osmocom/sbcap/SBcAP_TypeOfError.h>
#include <constr_SEQUENCE.h>
#include <constr_SEQUENCE_OF.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Forward declarations */
struct SBcAP_ProtocolExtensionContainer;
/* Forward definitions */
typedef struct SBcAP_CriticalityDiagnostics_IE_List__Member {
SBcAP_Criticality_t iECriticality;
SBcAP_ProtocolIE_ID_t iE_ID;
SBcAP_TypeOfError_t typeOfError;
struct SBcAP_ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */
/*
* This type is extensible,
* possible extensions are below.
*/
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} CriticalityDiagnostics_IE_List__Member;
/* SBcAP_CriticalityDiagnostics-IE-List */
typedef struct SBcAP_CriticalityDiagnostics_IE_List {
A_SEQUENCE_OF(CriticalityDiagnostics_IE_List__Member) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_CriticalityDiagnostics_IE_List_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_CriticalityDiagnostics_IE_List;
extern asn_SET_OF_specifics_t asn_SPC_SBcAP_CriticalityDiagnostics_IE_List_specs_1;
extern asn_TYPE_member_t asn_MBR_SBcAP_CriticalityDiagnostics_IE_List_1[1];
extern asn_per_constraints_t asn_PER_type_SBcAP_CriticalityDiagnostics_IE_List_constr_1;
#ifdef __cplusplus
}
#endif
/* Referred external types */
#include <osmocom/sbcap/SBcAP_ProtocolExtensionContainer.h>
#endif /* _SBcAP_CriticalityDiagnostics_IE_List_H_ */
#include <asn_internal.h>

View File

@@ -0,0 +1,38 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "SBC-AP-IEs"
* found in "../../src/sbcap/asn1/SBC_AP_IEs.asn"
* `asn1c -S /home/pespin/dev/sysmocom/build/new/out/share/asn1c -fcompound-names -gen-APER -no-gen-BER -no-gen-XER -no-gen-JER -no-gen-OER -no-gen-UPER -no-gen-example`
*/
#ifndef _SBcAP_Data_Coding_Scheme_H_
#define _SBcAP_Data_Coding_Scheme_H_
#include <asn_application.h>
/* Including external dependencies */
#include <BIT_STRING.h>
#ifdef __cplusplus
extern "C" {
#endif
/* SBcAP_Data-Coding-Scheme */
typedef BIT_STRING_t SBcAP_Data_Coding_Scheme_t;
/* Implementation */
extern asn_per_constraints_t asn_PER_type_SBcAP_Data_Coding_Scheme_constr_1;
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_Data_Coding_Scheme;
asn_struct_free_f SBcAP_Data_Coding_Scheme_free;
asn_struct_print_f SBcAP_Data_Coding_Scheme_print;
asn_constr_check_f SBcAP_Data_Coding_Scheme_constraint;
per_type_decoder_f SBcAP_Data_Coding_Scheme_decode_aper;
per_type_encoder_f SBcAP_Data_Coding_Scheme_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _SBcAP_Data_Coding_Scheme_H_ */
#include <asn_internal.h>

View File

@@ -0,0 +1,47 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "SBC-AP-IEs"
* found in "../../src/sbcap/asn1/SBC_AP_IEs.asn"
* `asn1c -S /home/pespin/dev/sysmocom/build/new/out/share/asn1c -fcompound-names -gen-APER -no-gen-BER -no-gen-XER -no-gen-JER -no-gen-OER -no-gen-UPER -no-gen-example`
*/
#ifndef _SBcAP_ECGIList_H_
#define _SBcAP_ECGIList_H_
#include <asn_application.h>
/* Including external dependencies */
#include <asn_SEQUENCE_OF.h>
#include <constr_SEQUENCE_OF.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Forward declarations */
struct SBcAP_EUTRAN_CGI;
/* SBcAP_ECGIList */
typedef struct SBcAP_ECGIList {
A_SEQUENCE_OF(struct SBcAP_EUTRAN_CGI) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_ECGIList_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_ECGIList;
extern asn_SET_OF_specifics_t asn_SPC_SBcAP_ECGIList_specs_1;
extern asn_TYPE_member_t asn_MBR_SBcAP_ECGIList_1[1];
extern asn_per_constraints_t asn_PER_type_SBcAP_ECGIList_constr_1;
#ifdef __cplusplus
}
#endif
/* Referred external types */
#include <osmocom/sbcap/SBcAP_EUTRAN-CGI.h>
#endif /* _SBcAP_ECGIList_H_ */
#include <asn_internal.h>

View File

@@ -0,0 +1,61 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "SBC-AP-IEs"
* found in "../../src/sbcap/asn1/SBC_AP_IEs.asn"
* `asn1c -S /home/pespin/dev/sysmocom/build/new/out/share/asn1c -fcompound-names -gen-APER -no-gen-BER -no-gen-XER -no-gen-JER -no-gen-OER -no-gen-UPER -no-gen-example`
*/
#ifndef _SBcAP_ENB_ID_H_
#define _SBcAP_ENB_ID_H_
#include <asn_application.h>
/* Including external dependencies */
#include <BIT_STRING.h>
#include <constr_CHOICE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum SBcAP_ENB_ID_PR {
SBcAP_ENB_ID_PR_NOTHING, /* No components present */
SBcAP_ENB_ID_PR_macroENB_ID,
SBcAP_ENB_ID_PR_homeENB_ID,
/* Extensions may appear below */
SBcAP_ENB_ID_PR_short_macroENB_ID,
SBcAP_ENB_ID_PR_long_macroENB_ID
} SBcAP_ENB_ID_PR;
/* SBcAP_ENB-ID */
typedef struct SBcAP_ENB_ID {
SBcAP_ENB_ID_PR present;
union SBcAP_ENB_ID_u {
BIT_STRING_t macroENB_ID;
BIT_STRING_t homeENB_ID;
/*
* This type is extensible,
* possible extensions are below.
*/
BIT_STRING_t short_macroENB_ID;
BIT_STRING_t long_macroENB_ID;
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_ENB_ID_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_ENB_ID;
extern asn_CHOICE_specifics_t asn_SPC_SBcAP_ENB_ID_specs_1;
extern asn_TYPE_member_t asn_MBR_SBcAP_ENB_ID_1[4];
extern asn_per_constraints_t asn_PER_type_SBcAP_ENB_ID_constr_1;
#ifdef __cplusplus
}
#endif
#endif /* _SBcAP_ENB_ID_H_ */
#include <asn_internal.h>

View File

@@ -0,0 +1,52 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "SBC-AP-IEs"
* found in "../../src/sbcap/asn1/SBC_AP_IEs.asn"
* `asn1c -S /home/pespin/dev/sysmocom/build/new/out/share/asn1c -fcompound-names -gen-APER -no-gen-BER -no-gen-XER -no-gen-JER -no-gen-OER -no-gen-UPER -no-gen-example`
*/
#ifndef _SBcAP_EUTRAN_CGI_H_
#define _SBcAP_EUTRAN_CGI_H_
#include <asn_application.h>
/* Including external dependencies */
#include <osmocom/sbcap/SBcAP_PLMNidentity.h>
#include <osmocom/sbcap/SBcAP_CellIdentity.h>
#include <constr_SEQUENCE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Forward declarations */
struct SBcAP_ProtocolExtensionContainer;
/* SBcAP_EUTRAN-CGI */
typedef struct SBcAP_EUTRAN_CGI {
SBcAP_PLMNidentity_t pLMNidentity;
SBcAP_CellIdentity_t cell_ID;
struct SBcAP_ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */
/*
* This type is extensible,
* possible extensions are below.
*/
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_EUTRAN_CGI_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_EUTRAN_CGI;
extern asn_SEQUENCE_specifics_t asn_SPC_SBcAP_EUTRAN_CGI_specs_1;
extern asn_TYPE_member_t asn_MBR_SBcAP_EUTRAN_CGI_1[3];
#ifdef __cplusplus
}
#endif
/* Referred external types */
#endif /* _SBcAP_EUTRAN_CGI_H_ */
#include <asn_internal.h>

View File

@@ -0,0 +1,65 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "ASN1C-UsefulInformationObjectClasses"
* found in "/home/pespin/dev/sysmocom/build/new/out/share/asn1c/standard-modules/ASN1C-UsefulInformationObjectClasses.asn1"
* `asn1c -S /home/pespin/dev/sysmocom/build/new/out/share/asn1c -fcompound-names -gen-APER -no-gen-BER -no-gen-XER -no-gen-JER -no-gen-OER -no-gen-UPER -no-gen-example`
*/
#ifndef _SBcAP_EXTERNAL_H_
#define _SBcAP_EXTERNAL_H_
#include <asn_application.h>
/* Including external dependencies */
#include <OBJECT_IDENTIFIER.h>
#include <NativeInteger.h>
#include <ObjectDescriptor.h>
#include <ANY.h>
#include <OCTET_STRING.h>
#include <BIT_STRING.h>
#include <constr_CHOICE.h>
#include <constr_SEQUENCE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum SBcAP_EXTERNAL__encoding_PR {
SBcAP_EXTERNAL__encoding_PR_NOTHING, /* No components present */
SBcAP_EXTERNAL__encoding_PR_single_ASN1_type,
SBcAP_EXTERNAL__encoding_PR_octet_aligned,
SBcAP_EXTERNAL__encoding_PR_arbitrary
} SBcAP_EXTERNAL__encoding_PR;
/* SBcAP_EXTERNAL */
typedef struct SBcAP_EXTERNAL {
OBJECT_IDENTIFIER_t *direct_reference; /* OPTIONAL */
long *indirect_reference; /* OPTIONAL */
ObjectDescriptor_t *data_value_descriptor; /* OPTIONAL */
struct SBcAP_EXTERNAL__encoding {
SBcAP_EXTERNAL__encoding_PR present;
union SBcAP_EXTERNAL__SBcAP_encoding_u {
ANY_t single_ASN1_type;
OCTET_STRING_t octet_aligned;
BIT_STRING_t arbitrary;
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} encoding;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_EXTERNAL_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_EXTERNAL;
#ifdef __cplusplus
}
#endif
#endif /* _SBcAP_EXTERNAL_H_ */
#include <asn_internal.h>

View File

@@ -0,0 +1,42 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "SBC-AP-IEs"
* found in "../../src/sbcap/asn1/SBC_AP_IEs.asn"
* `asn1c -S /home/pespin/dev/sysmocom/build/new/out/share/asn1c -fcompound-names -gen-APER -no-gen-BER -no-gen-XER -no-gen-JER -no-gen-OER -no-gen-UPER -no-gen-example`
*/
#ifndef _SBcAP_Emergency_Area_ID_List_H_
#define _SBcAP_Emergency_Area_ID_List_H_
#include <asn_application.h>
/* Including external dependencies */
#include <osmocom/sbcap/SBcAP_Emergency-Area-ID.h>
#include <asn_SEQUENCE_OF.h>
#include <constr_SEQUENCE_OF.h>
#ifdef __cplusplus
extern "C" {
#endif
/* SBcAP_Emergency-Area-ID-List */
typedef struct SBcAP_Emergency_Area_ID_List {
A_SEQUENCE_OF(SBcAP_Emergency_Area_ID_t) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_Emergency_Area_ID_List_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_Emergency_Area_ID_List;
extern asn_SET_OF_specifics_t asn_SPC_SBcAP_Emergency_Area_ID_List_specs_1;
extern asn_TYPE_member_t asn_MBR_SBcAP_Emergency_Area_ID_List_1[1];
extern asn_per_constraints_t asn_PER_type_SBcAP_Emergency_Area_ID_List_constr_1;
#ifdef __cplusplus
}
#endif
#endif /* _SBcAP_Emergency_Area_ID_List_H_ */
#include <asn_internal.h>

View File

@@ -0,0 +1,38 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "SBC-AP-IEs"
* found in "../../src/sbcap/asn1/SBC_AP_IEs.asn"
* `asn1c -S /home/pespin/dev/sysmocom/build/new/out/share/asn1c -fcompound-names -gen-APER -no-gen-BER -no-gen-XER -no-gen-JER -no-gen-OER -no-gen-UPER -no-gen-example`
*/
#ifndef _SBcAP_Emergency_Area_ID_H_
#define _SBcAP_Emergency_Area_ID_H_
#include <asn_application.h>
/* Including external dependencies */
#include <OCTET_STRING.h>
#ifdef __cplusplus
extern "C" {
#endif
/* SBcAP_Emergency-Area-ID */
typedef OCTET_STRING_t SBcAP_Emergency_Area_ID_t;
/* Implementation */
extern asn_per_constraints_t asn_PER_type_SBcAP_Emergency_Area_ID_constr_1;
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_Emergency_Area_ID;
asn_struct_free_f SBcAP_Emergency_Area_ID_free;
asn_struct_print_f SBcAP_Emergency_Area_ID_print;
asn_constr_check_f SBcAP_Emergency_Area_ID_constraint;
per_type_decoder_f SBcAP_Emergency_Area_ID_decode_aper;
per_type_encoder_f SBcAP_Emergency_Area_ID_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _SBcAP_Emergency_Area_ID_H_ */
#include <asn_internal.h>

View File

@@ -0,0 +1,53 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "SBC-AP-IEs"
* found in "../../src/sbcap/asn1/SBC_AP_IEs.asn"
* `asn1c -S /home/pespin/dev/sysmocom/build/new/out/share/asn1c -fcompound-names -gen-APER -no-gen-BER -no-gen-XER -no-gen-JER -no-gen-OER -no-gen-UPER -no-gen-example`
*/
#ifndef _SBcAP_EmergencyAreaID_Broadcast_List_Item_H_
#define _SBcAP_EmergencyAreaID_Broadcast_List_Item_H_
#include <asn_application.h>
/* Including external dependencies */
#include <osmocom/sbcap/SBcAP_Emergency-Area-ID.h>
#include <osmocom/sbcap/SBcAP_ScheduledCellinEAI.h>
#include <constr_SEQUENCE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Forward declarations */
struct SBcAP_ProtocolExtensionContainer;
/* SBcAP_EmergencyAreaID-Broadcast-List-Item */
typedef struct SBcAP_EmergencyAreaID_Broadcast_List_Item {
SBcAP_Emergency_Area_ID_t emergencyAreaID;
SBcAP_ScheduledCellinEAI_t scheduledCellinEAI;
struct SBcAP_ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */
/*
* This type is extensible,
* possible extensions are below.
*/
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_EmergencyAreaID_Broadcast_List_Item_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_EmergencyAreaID_Broadcast_List_Item;
extern asn_SEQUENCE_specifics_t asn_SPC_SBcAP_EmergencyAreaID_Broadcast_List_Item_specs_1;
extern asn_TYPE_member_t asn_MBR_SBcAP_EmergencyAreaID_Broadcast_List_Item_1[3];
#ifdef __cplusplus
}
#endif
/* Referred external types */
#include <osmocom/sbcap/SBcAP_ProtocolExtensionContainer.h>
#endif /* _SBcAP_EmergencyAreaID_Broadcast_List_Item_H_ */
#include <asn_internal.h>

View File

@@ -0,0 +1,47 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "SBC-AP-IEs"
* found in "../../src/sbcap/asn1/SBC_AP_IEs.asn"
* `asn1c -S /home/pespin/dev/sysmocom/build/new/out/share/asn1c -fcompound-names -gen-APER -no-gen-BER -no-gen-XER -no-gen-JER -no-gen-OER -no-gen-UPER -no-gen-example`
*/
#ifndef _SBcAP_EmergencyAreaID_Broadcast_List_H_
#define _SBcAP_EmergencyAreaID_Broadcast_List_H_
#include <asn_application.h>
/* Including external dependencies */
#include <asn_SEQUENCE_OF.h>
#include <constr_SEQUENCE_OF.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Forward declarations */
struct SBcAP_EmergencyAreaID_Broadcast_List_Item;
/* SBcAP_EmergencyAreaID-Broadcast-List */
typedef struct SBcAP_EmergencyAreaID_Broadcast_List {
A_SEQUENCE_OF(struct SBcAP_EmergencyAreaID_Broadcast_List_Item) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_EmergencyAreaID_Broadcast_List_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_EmergencyAreaID_Broadcast_List;
extern asn_SET_OF_specifics_t asn_SPC_SBcAP_EmergencyAreaID_Broadcast_List_specs_1;
extern asn_TYPE_member_t asn_MBR_SBcAP_EmergencyAreaID_Broadcast_List_1[1];
extern asn_per_constraints_t asn_PER_type_SBcAP_EmergencyAreaID_Broadcast_List_constr_1;
#ifdef __cplusplus
}
#endif
/* Referred external types */
#include <osmocom/sbcap/SBcAP_EmergencyAreaID-Broadcast-List-Item.h>
#endif /* _SBcAP_EmergencyAreaID_Broadcast_List_H_ */
#include <asn_internal.h>

View File

@@ -0,0 +1,53 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "SBC-AP-IEs"
* found in "../../src/sbcap/asn1/SBC_AP_IEs.asn"
* `asn1c -S /home/pespin/dev/sysmocom/build/new/out/share/asn1c -fcompound-names -gen-APER -no-gen-BER -no-gen-XER -no-gen-JER -no-gen-OER -no-gen-UPER -no-gen-example`
*/
#ifndef _SBcAP_EmergencyAreaID_Cancelled_Item_H_
#define _SBcAP_EmergencyAreaID_Cancelled_Item_H_
#include <asn_application.h>
/* Including external dependencies */
#include <osmocom/sbcap/SBcAP_Emergency-Area-ID.h>
#include <osmocom/sbcap/SBcAP_CancelledCellinEAI.h>
#include <constr_SEQUENCE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Forward declarations */
struct SBcAP_ProtocolExtensionContainer;
/* SBcAP_EmergencyAreaID-Cancelled-Item */
typedef struct SBcAP_EmergencyAreaID_Cancelled_Item {
SBcAP_Emergency_Area_ID_t emergencyAreaID;
SBcAP_CancelledCellinEAI_t cancelledCellinEAI;
struct SBcAP_ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */
/*
* This type is extensible,
* possible extensions are below.
*/
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_EmergencyAreaID_Cancelled_Item_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_EmergencyAreaID_Cancelled_Item;
extern asn_SEQUENCE_specifics_t asn_SPC_SBcAP_EmergencyAreaID_Cancelled_Item_specs_1;
extern asn_TYPE_member_t asn_MBR_SBcAP_EmergencyAreaID_Cancelled_Item_1[3];
#ifdef __cplusplus
}
#endif
/* Referred external types */
#include <osmocom/sbcap/SBcAP_ProtocolExtensionContainer.h>
#endif /* _SBcAP_EmergencyAreaID_Cancelled_Item_H_ */
#include <asn_internal.h>

View File

@@ -0,0 +1,47 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "SBC-AP-IEs"
* found in "../../src/sbcap/asn1/SBC_AP_IEs.asn"
* `asn1c -S /home/pespin/dev/sysmocom/build/new/out/share/asn1c -fcompound-names -gen-APER -no-gen-BER -no-gen-XER -no-gen-JER -no-gen-OER -no-gen-UPER -no-gen-example`
*/
#ifndef _SBcAP_EmergencyAreaID_Cancelled_List_H_
#define _SBcAP_EmergencyAreaID_Cancelled_List_H_
#include <asn_application.h>
/* Including external dependencies */
#include <asn_SEQUENCE_OF.h>
#include <constr_SEQUENCE_OF.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Forward declarations */
struct SBcAP_EmergencyAreaID_Cancelled_Item;
/* SBcAP_EmergencyAreaID-Cancelled-List */
typedef struct SBcAP_EmergencyAreaID_Cancelled_List {
A_SEQUENCE_OF(struct SBcAP_EmergencyAreaID_Cancelled_Item) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_EmergencyAreaID_Cancelled_List_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_EmergencyAreaID_Cancelled_List;
extern asn_SET_OF_specifics_t asn_SPC_SBcAP_EmergencyAreaID_Cancelled_List_specs_1;
extern asn_TYPE_member_t asn_MBR_SBcAP_EmergencyAreaID_Cancelled_List_1[1];
extern asn_per_constraints_t asn_PER_type_SBcAP_EmergencyAreaID_Cancelled_List_constr_1;
#ifdef __cplusplus
}
#endif
/* Referred external types */
#include <osmocom/sbcap/SBcAP_EmergencyAreaID-Cancelled-Item.h>
#endif /* _SBcAP_EmergencyAreaID_Cancelled_List_H_ */
#include <asn_internal.h>

View File

@@ -0,0 +1,42 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "SBC-AP-PDU-Contents"
* found in "../../src/sbcap/asn1/SBC_AP_PDU_Contents.asn"
* `asn1c -S /home/pespin/dev/sysmocom/build/new/out/share/asn1c -fcompound-names -gen-APER -no-gen-BER -no-gen-XER -no-gen-JER -no-gen-OER -no-gen-UPER -no-gen-example`
*/
#ifndef _SBcAP_Error_Indication_H_
#define _SBcAP_Error_Indication_H_
#include <asn_application.h>
/* Including external dependencies */
#include <osmocom/sbcap/SBcAP_ProtocolIE-Container.h>
#include <constr_SEQUENCE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* SBcAP_Error-Indication */
typedef struct SBcAP_Error_Indication {
SBcAP_ProtocolIE_Container_86P8_t protocolIEs;
/*
* This type is extensible,
* possible extensions are below.
*/
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_Error_Indication_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_Error_Indication;
#ifdef __cplusplus
}
#endif
#endif /* _SBcAP_Error_Indication_H_ */
#include <asn_internal.h>

View File

@@ -0,0 +1,38 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "SBC-AP-IEs"
* found in "../../src/sbcap/asn1/SBC_AP_IEs.asn"
* `asn1c -S /home/pespin/dev/sysmocom/build/new/out/share/asn1c -fcompound-names -gen-APER -no-gen-BER -no-gen-XER -no-gen-JER -no-gen-OER -no-gen-UPER -no-gen-example`
*/
#ifndef _SBcAP_Extended_Repetition_Period_H_
#define _SBcAP_Extended_Repetition_Period_H_
#include <asn_application.h>
/* Including external dependencies */
#include <NativeInteger.h>
#ifdef __cplusplus
extern "C" {
#endif
/* SBcAP_Extended-Repetition-Period */
typedef long SBcAP_Extended_Repetition_Period_t;
/* Implementation */
extern asn_per_constraints_t asn_PER_type_SBcAP_Extended_Repetition_Period_constr_1;
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_Extended_Repetition_Period;
asn_struct_free_f SBcAP_Extended_Repetition_Period_free;
asn_struct_print_f SBcAP_Extended_Repetition_Period_print;
asn_constr_check_f SBcAP_Extended_Repetition_Period_constraint;
per_type_decoder_f SBcAP_Extended_Repetition_Period_decode_aper;
per_type_encoder_f SBcAP_Extended_Repetition_Period_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _SBcAP_Extended_Repetition_Period_H_ */
#include <asn_internal.h>

View File

@@ -0,0 +1,47 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "SBC-AP-IEs"
* found in "../../src/sbcap/asn1/SBC_AP_IEs.asn"
* `asn1c -S /home/pespin/dev/sysmocom/build/new/out/share/asn1c -fcompound-names -gen-APER -no-gen-BER -no-gen-XER -no-gen-JER -no-gen-OER -no-gen-UPER -no-gen-example`
*/
#ifndef _SBcAP_Failed_Cell_List_NR_H_
#define _SBcAP_Failed_Cell_List_NR_H_
#include <asn_application.h>
/* Including external dependencies */
#include <asn_SEQUENCE_OF.h>
#include <constr_SEQUENCE_OF.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Forward declarations */
struct SBcAP_NR_CGI;
/* SBcAP_Failed-Cell-List-NR */
typedef struct SBcAP_Failed_Cell_List_NR {
A_SEQUENCE_OF(struct SBcAP_NR_CGI) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_Failed_Cell_List_NR_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_Failed_Cell_List_NR;
extern asn_SET_OF_specifics_t asn_SPC_SBcAP_Failed_Cell_List_NR_specs_1;
extern asn_TYPE_member_t asn_MBR_SBcAP_Failed_Cell_List_NR_1[1];
extern asn_per_constraints_t asn_PER_type_SBcAP_Failed_Cell_List_NR_constr_1;
#ifdef __cplusplus
}
#endif
/* Referred external types */
#include <osmocom/sbcap/SBcAP_NR-CGI.h>
#endif /* _SBcAP_Failed_Cell_List_NR_H_ */
#include <asn_internal.h>

View File

@@ -0,0 +1,47 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "SBC-AP-IEs"
* found in "../../src/sbcap/asn1/SBC_AP_IEs.asn"
* `asn1c -S /home/pespin/dev/sysmocom/build/new/out/share/asn1c -fcompound-names -gen-APER -no-gen-BER -no-gen-XER -no-gen-JER -no-gen-OER -no-gen-UPER -no-gen-example`
*/
#ifndef _SBcAP_Failed_Cell_List_H_
#define _SBcAP_Failed_Cell_List_H_
#include <asn_application.h>
/* Including external dependencies */
#include <asn_SEQUENCE_OF.h>
#include <constr_SEQUENCE_OF.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Forward declarations */
struct SBcAP_EUTRAN_CGI;
/* SBcAP_Failed-Cell-List */
typedef struct SBcAP_Failed_Cell_List {
A_SEQUENCE_OF(struct SBcAP_EUTRAN_CGI) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_Failed_Cell_List_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_Failed_Cell_List;
extern asn_SET_OF_specifics_t asn_SPC_SBcAP_Failed_Cell_List_specs_1;
extern asn_TYPE_member_t asn_MBR_SBcAP_Failed_Cell_List_1[1];
extern asn_per_constraints_t asn_PER_type_SBcAP_Failed_Cell_List_constr_1;
#ifdef __cplusplus
}
#endif
/* Referred external types */
#include <osmocom/sbcap/SBcAP_EUTRAN-CGI.h>
#endif /* _SBcAP_Failed_Cell_List_H_ */
#include <asn_internal.h>

View File

@@ -0,0 +1,56 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "SBC-AP-IEs"
* found in "../../src/sbcap/asn1/SBC_AP_IEs.asn"
* `asn1c -S /home/pespin/dev/sysmocom/build/new/out/share/asn1c -fcompound-names -gen-APER -no-gen-BER -no-gen-XER -no-gen-JER -no-gen-OER -no-gen-UPER -no-gen-example`
*/
#ifndef _SBcAP_GNB_ID_H_
#define _SBcAP_GNB_ID_H_
#include <asn_application.h>
/* Including external dependencies */
#include <BIT_STRING.h>
#include <constr_CHOICE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum SBcAP_GNB_ID_PR {
SBcAP_GNB_ID_PR_NOTHING, /* No components present */
SBcAP_GNB_ID_PR_gNB_ID
/* Extensions may appear below */
} SBcAP_GNB_ID_PR;
/* SBcAP_GNB-ID */
typedef struct SBcAP_GNB_ID {
SBcAP_GNB_ID_PR present;
union SBcAP_GNB_ID_u {
BIT_STRING_t gNB_ID;
/*
* This type is extensible,
* possible extensions are below.
*/
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_GNB_ID_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_GNB_ID;
extern asn_CHOICE_specifics_t asn_SPC_SBcAP_GNB_ID_specs_1;
extern asn_TYPE_member_t asn_MBR_SBcAP_GNB_ID_1[1];
extern asn_per_constraints_t asn_PER_type_SBcAP_GNB_ID_constr_1;
#ifdef __cplusplus
}
#endif
#endif /* _SBcAP_GNB_ID_H_ */
#include <asn_internal.h>

View File

@@ -0,0 +1,53 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "SBC-AP-IEs"
* found in "../../src/sbcap/asn1/SBC_AP_IEs.asn"
* `asn1c -S /home/pespin/dev/sysmocom/build/new/out/share/asn1c -fcompound-names -gen-APER -no-gen-BER -no-gen-XER -no-gen-JER -no-gen-OER -no-gen-UPER -no-gen-example`
*/
#ifndef _SBcAP_Global_ENB_ID_H_
#define _SBcAP_Global_ENB_ID_H_
#include <asn_application.h>
/* Including external dependencies */
#include <osmocom/sbcap/SBcAP_PLMNidentity.h>
#include <osmocom/sbcap/SBcAP_ENB-ID.h>
#include <constr_SEQUENCE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Forward declarations */
struct SBcAP_ProtocolExtensionContainer;
/* SBcAP_Global-ENB-ID */
typedef struct SBcAP_Global_ENB_ID {
SBcAP_PLMNidentity_t pLMNidentity;
SBcAP_ENB_ID_t eNB_ID;
struct SBcAP_ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */
/*
* This type is extensible,
* possible extensions are below.
*/
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_Global_ENB_ID_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_Global_ENB_ID;
extern asn_SEQUENCE_specifics_t asn_SPC_SBcAP_Global_ENB_ID_specs_1;
extern asn_TYPE_member_t asn_MBR_SBcAP_Global_ENB_ID_1[3];
#ifdef __cplusplus
}
#endif
/* Referred external types */
#include <osmocom/sbcap/SBcAP_ProtocolExtensionContainer.h>
#endif /* _SBcAP_Global_ENB_ID_H_ */
#include <asn_internal.h>

View File

@@ -0,0 +1,52 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "SBC-AP-IEs"
* found in "../../src/sbcap/asn1/SBC_AP_IEs.asn"
* `asn1c -S /home/pespin/dev/sysmocom/build/new/out/share/asn1c -fcompound-names -gen-APER -no-gen-BER -no-gen-XER -no-gen-JER -no-gen-OER -no-gen-UPER -no-gen-example`
*/
#ifndef _SBcAP_Global_GNB_ID_H_
#define _SBcAP_Global_GNB_ID_H_
#include <asn_application.h>
/* Including external dependencies */
#include <osmocom/sbcap/SBcAP_PLMNidentity.h>
#include <osmocom/sbcap/SBcAP_GNB-ID.h>
#include <constr_SEQUENCE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Forward declarations */
struct SBcAP_ProtocolExtensionContainer;
/* SBcAP_Global-GNB-ID */
typedef struct SBcAP_Global_GNB_ID {
SBcAP_PLMNidentity_t pLMNidentity;
SBcAP_GNB_ID_t gNB_ID;
struct SBcAP_ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */
/*
* This type is extensible,
* possible extensions are below.
*/
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_Global_GNB_ID_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_Global_GNB_ID;
extern asn_SEQUENCE_specifics_t asn_SPC_SBcAP_Global_GNB_ID_specs_1;
extern asn_TYPE_member_t asn_MBR_SBcAP_Global_GNB_ID_1[3];
#ifdef __cplusplus
}
#endif
/* Referred external types */
#endif /* _SBcAP_Global_GNB_ID_H_ */
#include <asn_internal.h>

View File

@@ -0,0 +1,52 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "SBC-AP-IEs"
* found in "../../src/sbcap/asn1/SBC_AP_IEs.asn"
* `asn1c -S /home/pespin/dev/sysmocom/build/new/out/share/asn1c -fcompound-names -gen-APER -no-gen-BER -no-gen-XER -no-gen-JER -no-gen-OER -no-gen-UPER -no-gen-example`
*/
#ifndef _SBcAP_Global_NgENB_ID_H_
#define _SBcAP_Global_NgENB_ID_H_
#include <asn_application.h>
/* Including external dependencies */
#include <osmocom/sbcap/SBcAP_PLMNidentity.h>
#include <osmocom/sbcap/SBcAP_ENB-ID.h>
#include <constr_SEQUENCE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Forward declarations */
struct SBcAP_ProtocolExtensionContainer;
/* SBcAP_Global-NgENB-ID */
typedef struct SBcAP_Global_NgENB_ID {
SBcAP_PLMNidentity_t pLMNidentity;
SBcAP_ENB_ID_t ngENB_ID;
struct SBcAP_ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */
/*
* This type is extensible,
* possible extensions are below.
*/
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_Global_NgENB_ID_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_Global_NgENB_ID;
extern asn_SEQUENCE_specifics_t asn_SPC_SBcAP_Global_NgENB_ID_specs_1;
extern asn_TYPE_member_t asn_MBR_SBcAP_Global_NgENB_ID_1[3];
#ifdef __cplusplus
}
#endif
/* Referred external types */
#endif /* _SBcAP_Global_NgENB_ID_H_ */
#include <asn_internal.h>

View File

@@ -0,0 +1,59 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "SBC-AP-IEs"
* found in "../../src/sbcap/asn1/SBC_AP_IEs.asn"
* `asn1c -S /home/pespin/dev/sysmocom/build/new/out/share/asn1c -fcompound-names -gen-APER -no-gen-BER -no-gen-XER -no-gen-JER -no-gen-OER -no-gen-UPER -no-gen-example`
*/
#ifndef _SBcAP_Global_RAN_Node_ID_H_
#define _SBcAP_Global_RAN_Node_ID_H_
#include <asn_application.h>
/* Including external dependencies */
#include <osmocom/sbcap/SBcAP_Global-GNB-ID.h>
#include <osmocom/sbcap/SBcAP_Global-NgENB-ID.h>
#include <constr_CHOICE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum SBcAP_Global_RAN_Node_ID_PR {
SBcAP_Global_RAN_Node_ID_PR_NOTHING, /* No components present */
SBcAP_Global_RAN_Node_ID_PR_global_GNB_ID,
SBcAP_Global_RAN_Node_ID_PR_global_NgENB_ID
/* Extensions may appear below */
} SBcAP_Global_RAN_Node_ID_PR;
/* SBcAP_Global-RAN-Node-ID */
typedef struct SBcAP_Global_RAN_Node_ID {
SBcAP_Global_RAN_Node_ID_PR present;
union SBcAP_Global_RAN_Node_ID_u {
SBcAP_Global_GNB_ID_t global_GNB_ID;
SBcAP_Global_NgENB_ID_t global_NgENB_ID;
/*
* This type is extensible,
* possible extensions are below.
*/
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_Global_RAN_Node_ID_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_Global_RAN_Node_ID;
extern asn_CHOICE_specifics_t asn_SPC_SBcAP_Global_RAN_Node_ID_specs_1;
extern asn_TYPE_member_t asn_MBR_SBcAP_Global_RAN_Node_ID_1[2];
extern asn_per_constraints_t asn_PER_type_SBcAP_Global_RAN_Node_ID_constr_1;
#ifdef __cplusplus
}
#endif
#endif /* _SBcAP_Global_RAN_Node_ID_H_ */
#include <asn_internal.h>

View File

@@ -0,0 +1,82 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "SBC-AP-PDU-Descriptions"
* found in "../../src/sbcap/asn1/SBC_AP_PDU_Descriptions.asn"
* `asn1c -S /home/pespin/dev/sysmocom/build/new/out/share/asn1c -fcompound-names -gen-APER -no-gen-BER -no-gen-XER -no-gen-JER -no-gen-OER -no-gen-UPER -no-gen-example`
*/
#ifndef _SBcAP_InitiatingMessage_H_
#define _SBcAP_InitiatingMessage_H_
#include <asn_application.h>
/* Including external dependencies */
#include <osmocom/sbcap/SBcAP_ProcedureCode.h>
#include <osmocom/sbcap/SBcAP_Criticality.h>
#include <ANY.h>
#include <asn_ioc.h>
#include <osmocom/sbcap/SBcAP_Write-Replace-Warning-Request.h>
#include <osmocom/sbcap/SBcAP_Write-Replace-Warning-Response.h>
#include <osmocom/sbcap/SBcAP_Stop-Warning-Request.h>
#include <osmocom/sbcap/SBcAP_Stop-Warning-Response.h>
#include <osmocom/sbcap/SBcAP_Error-Indication.h>
#include <osmocom/sbcap/SBcAP_Write-Replace-Warning-Indication.h>
#include <osmocom/sbcap/SBcAP_Stop-Warning-Indication.h>
#include <osmocom/sbcap/SBcAP_PWS-Restart-Indication.h>
#include <osmocom/sbcap/SBcAP_PWS-Failure-Indication.h>
#include <OPEN_TYPE.h>
#include <constr_CHOICE.h>
#include <constr_SEQUENCE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum SBcAP_InitiatingMessage__value_PR {
SBcAP_InitiatingMessage__value_PR_NOTHING, /* No components present */
SBcAP_InitiatingMessage__value_PR_Write_Replace_Warning_Request,
SBcAP_InitiatingMessage__value_PR_Stop_Warning_Request,
SBcAP_InitiatingMessage__value_PR_Error_Indication,
SBcAP_InitiatingMessage__value_PR_Write_Replace_Warning_Indication,
SBcAP_InitiatingMessage__value_PR_Stop_Warning_Indication,
SBcAP_InitiatingMessage__value_PR_PWS_Restart_Indication,
SBcAP_InitiatingMessage__value_PR_PWS_Failure_Indication
} SBcAP_InitiatingMessage__value_PR;
/* SBcAP_InitiatingMessage */
typedef struct SBcAP_InitiatingMessage {
SBcAP_ProcedureCode_t procedureCode;
SBcAP_Criticality_t criticality;
struct SBcAP_InitiatingMessage__value {
SBcAP_InitiatingMessage__value_PR present;
union SBcAP_InitiatingMessage__SBcAP_value_u {
SBcAP_Write_Replace_Warning_Request_t Write_Replace_Warning_Request;
SBcAP_Stop_Warning_Request_t Stop_Warning_Request;
SBcAP_Error_Indication_t Error_Indication;
SBcAP_Write_Replace_Warning_Indication_t Write_Replace_Warning_Indication;
SBcAP_Stop_Warning_Indication_t Stop_Warning_Indication;
SBcAP_PWS_Restart_Indication_t PWS_Restart_Indication;
SBcAP_PWS_Failure_Indication_t PWS_Failure_Indication;
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} value;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_InitiatingMessage_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_InitiatingMessage;
extern asn_SEQUENCE_specifics_t asn_SPC_SBcAP_InitiatingMessage_specs_1;
extern asn_TYPE_member_t asn_MBR_SBcAP_InitiatingMessage_1[3];
#ifdef __cplusplus
}
#endif
#endif /* _SBcAP_InitiatingMessage_H_ */
#include <asn_internal.h>

View File

@@ -0,0 +1,44 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "SBC-AP-IEs"
* found in "../../src/sbcap/asn1/SBC_AP_IEs.asn"
* `asn1c -S /home/pespin/dev/sysmocom/build/new/out/share/asn1c -fcompound-names -gen-APER -no-gen-BER -no-gen-XER -no-gen-JER -no-gen-OER -no-gen-UPER -no-gen-example`
*/
#ifndef _SBcAP_List_of_5GS_Cells_for_Failure_H_
#define _SBcAP_List_of_5GS_Cells_for_Failure_H_
#include <asn_application.h>
/* Including external dependencies */
#include <asn_SEQUENCE_OF.h>
#include <constr_SEQUENCE_OF.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Forward declarations */
struct SBcAP_NR_CGI;
/* SBcAP_List-of-5GS-Cells-for-Failure */
typedef struct SBcAP_List_of_5GS_Cells_for_Failure {
A_SEQUENCE_OF(struct SBcAP_NR_CGI) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_List_of_5GS_Cells_for_Failure_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_List_of_5GS_Cells_for_Failure;
#ifdef __cplusplus
}
#endif
/* Referred external types */
#include <osmocom/sbcap/SBcAP_NR-CGI.h>
#endif /* _SBcAP_List_of_5GS_Cells_for_Failure_H_ */
#include <asn_internal.h>

View File

@@ -0,0 +1,47 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "SBC-AP-IEs"
* found in "../../src/sbcap/asn1/SBC_AP_IEs.asn"
* `asn1c -S /home/pespin/dev/sysmocom/build/new/out/share/asn1c -fcompound-names -gen-APER -no-gen-BER -no-gen-XER -no-gen-JER -no-gen-OER -no-gen-UPER -no-gen-example`
*/
#ifndef _SBcAP_List_of_5GS_TAI_for_Restart_H_
#define _SBcAP_List_of_5GS_TAI_for_Restart_H_
#include <asn_application.h>
/* Including external dependencies */
#include <asn_SEQUENCE_OF.h>
#include <constr_SEQUENCE_OF.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Forward declarations */
struct SBcAP_TAI_5GS;
/* SBcAP_List-of-5GS-TAI-for-Restart */
typedef struct SBcAP_List_of_5GS_TAI_for_Restart {
A_SEQUENCE_OF(struct SBcAP_TAI_5GS) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_List_of_5GS_TAI_for_Restart_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_List_of_5GS_TAI_for_Restart;
extern asn_SET_OF_specifics_t asn_SPC_SBcAP_List_of_5GS_TAI_for_Restart_specs_1;
extern asn_TYPE_member_t asn_MBR_SBcAP_List_of_5GS_TAI_for_Restart_1[1];
extern asn_per_constraints_t asn_PER_type_SBcAP_List_of_5GS_TAI_for_Restart_constr_1;
#ifdef __cplusplus
}
#endif
/* Referred external types */
#include <osmocom/sbcap/SBcAP_TAI-5GS.h>
#endif /* _SBcAP_List_of_5GS_TAI_for_Restart_H_ */
#include <asn_internal.h>

View File

@@ -0,0 +1,47 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "SBC-AP-IEs"
* found in "../../src/sbcap/asn1/SBC_AP_IEs.asn"
* `asn1c -S /home/pespin/dev/sysmocom/build/new/out/share/asn1c -fcompound-names -gen-APER -no-gen-BER -no-gen-XER -no-gen-JER -no-gen-OER -no-gen-UPER -no-gen-example`
*/
#ifndef _SBcAP_List_of_5GS_TAIs_H_
#define _SBcAP_List_of_5GS_TAIs_H_
#include <asn_application.h>
/* Including external dependencies */
#include <asn_SEQUENCE_OF.h>
#include <constr_SEQUENCE_OF.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Forward declarations */
struct SBcAP_TAI_5GS;
/* SBcAP_List-of-5GS-TAIs */
typedef struct SBcAP_List_of_5GS_TAIs {
A_SEQUENCE_OF(struct SBcAP_TAI_5GS) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_List_of_5GS_TAIs_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_List_of_5GS_TAIs;
extern asn_SET_OF_specifics_t asn_SPC_SBcAP_List_of_5GS_TAIs_specs_1;
extern asn_TYPE_member_t asn_MBR_SBcAP_List_of_5GS_TAIs_1[1];
extern asn_per_constraints_t asn_PER_type_SBcAP_List_of_5GS_TAIs_constr_1;
#ifdef __cplusplus
}
#endif
/* Referred external types */
#include <osmocom/sbcap/SBcAP_TAI-5GS.h>
#endif /* _SBcAP_List_of_5GS_TAIs_H_ */
#include <asn_internal.h>

View File

@@ -0,0 +1,42 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "SBC-AP-IEs"
* found in "../../src/sbcap/asn1/SBC_AP_IEs.asn"
* `asn1c -S /home/pespin/dev/sysmocom/build/new/out/share/asn1c -fcompound-names -gen-APER -no-gen-BER -no-gen-XER -no-gen-JER -no-gen-OER -no-gen-UPER -no-gen-example`
*/
#ifndef _SBcAP_List_of_EAIs_Restart_H_
#define _SBcAP_List_of_EAIs_Restart_H_
#include <asn_application.h>
/* Including external dependencies */
#include <osmocom/sbcap/SBcAP_Emergency-Area-ID.h>
#include <asn_SEQUENCE_OF.h>
#include <constr_SEQUENCE_OF.h>
#ifdef __cplusplus
extern "C" {
#endif
/* SBcAP_List-of-EAIs-Restart */
typedef struct SBcAP_List_of_EAIs_Restart {
A_SEQUENCE_OF(SBcAP_Emergency_Area_ID_t) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_List_of_EAIs_Restart_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_List_of_EAIs_Restart;
extern asn_SET_OF_specifics_t asn_SPC_SBcAP_List_of_EAIs_Restart_specs_1;
extern asn_TYPE_member_t asn_MBR_SBcAP_List_of_EAIs_Restart_1[1];
extern asn_per_constraints_t asn_PER_type_SBcAP_List_of_EAIs_Restart_constr_1;
#ifdef __cplusplus
}
#endif
#endif /* _SBcAP_List_of_EAIs_Restart_H_ */
#include <asn_internal.h>

View File

@@ -0,0 +1,51 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "SBC-AP-IEs"
* found in "../../src/sbcap/asn1/SBC_AP_IEs.asn"
* `asn1c -S /home/pespin/dev/sysmocom/build/new/out/share/asn1c -fcompound-names -gen-APER -no-gen-BER -no-gen-XER -no-gen-JER -no-gen-OER -no-gen-UPER -no-gen-example`
*/
#ifndef _SBcAP_List_of_TAIs_Restart_H_
#define _SBcAP_List_of_TAIs_Restart_H_
#include <asn_application.h>
/* Including external dependencies */
#include <asn_SEQUENCE_OF.h>
#include <osmocom/sbcap/SBcAP_TAI.h>
#include <constr_SEQUENCE.h>
#include <constr_SEQUENCE_OF.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Forward definitions */
typedef struct SBcAP_List_of_TAIs_Restart__Member {
SBcAP_TAI_t tai;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} List_of_TAIs_Restart__Member;
/* SBcAP_List-of-TAIs-Restart */
typedef struct SBcAP_List_of_TAIs_Restart {
A_SEQUENCE_OF(List_of_TAIs_Restart__Member) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_List_of_TAIs_Restart_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_List_of_TAIs_Restart;
extern asn_SET_OF_specifics_t asn_SPC_SBcAP_List_of_TAIs_Restart_specs_1;
extern asn_TYPE_member_t asn_MBR_SBcAP_List_of_TAIs_Restart_1[1];
extern asn_per_constraints_t asn_PER_type_SBcAP_List_of_TAIs_Restart_constr_1;
#ifdef __cplusplus
}
#endif
#endif /* _SBcAP_List_of_TAIs_Restart_H_ */
#include <asn_internal.h>

View File

@@ -0,0 +1,51 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "SBC-AP-IEs"
* found in "../../src/sbcap/asn1/SBC_AP_IEs.asn"
* `asn1c -S /home/pespin/dev/sysmocom/build/new/out/share/asn1c -fcompound-names -gen-APER -no-gen-BER -no-gen-XER -no-gen-JER -no-gen-OER -no-gen-UPER -no-gen-example`
*/
#ifndef _SBcAP_List_of_TAIs_H_
#define _SBcAP_List_of_TAIs_H_
#include <asn_application.h>
/* Including external dependencies */
#include <asn_SEQUENCE_OF.h>
#include <osmocom/sbcap/SBcAP_TAI.h>
#include <constr_SEQUENCE.h>
#include <constr_SEQUENCE_OF.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Forward definitions */
typedef struct SBcAP_List_of_TAIs__Member {
SBcAP_TAI_t tai;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} List_of_TAIs__Member;
/* SBcAP_List-of-TAIs */
typedef struct SBcAP_List_of_TAIs {
A_SEQUENCE_OF(List_of_TAIs__Member) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_List_of_TAIs_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_List_of_TAIs;
extern asn_SET_OF_specifics_t asn_SPC_SBcAP_List_of_TAIs_specs_1;
extern asn_TYPE_member_t asn_MBR_SBcAP_List_of_TAIs_1[1];
extern asn_per_constraints_t asn_PER_type_SBcAP_List_of_TAIs_constr_1;
#ifdef __cplusplus
}
#endif
#endif /* _SBcAP_List_of_TAIs_H_ */
#include <asn_internal.h>

View File

@@ -0,0 +1,38 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "SBC-AP-IEs"
* found in "../../src/sbcap/asn1/SBC_AP_IEs.asn"
* `asn1c -S /home/pespin/dev/sysmocom/build/new/out/share/asn1c -fcompound-names -gen-APER -no-gen-BER -no-gen-XER -no-gen-JER -no-gen-OER -no-gen-UPER -no-gen-example`
*/
#ifndef _SBcAP_Message_Identifier_H_
#define _SBcAP_Message_Identifier_H_
#include <asn_application.h>
/* Including external dependencies */
#include <BIT_STRING.h>
#ifdef __cplusplus
extern "C" {
#endif
/* SBcAP_Message-Identifier */
typedef BIT_STRING_t SBcAP_Message_Identifier_t;
/* Implementation */
extern asn_per_constraints_t asn_PER_type_SBcAP_Message_Identifier_constr_1;
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_Message_Identifier;
asn_struct_free_f SBcAP_Message_Identifier_free;
asn_struct_print_f SBcAP_Message_Identifier_print;
asn_constr_check_f SBcAP_Message_Identifier_constraint;
per_type_decoder_f SBcAP_Message_Identifier_decode_aper;
per_type_encoder_f SBcAP_Message_Identifier_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _SBcAP_Message_Identifier_H_ */
#include <asn_internal.h>

View File

@@ -0,0 +1,52 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "SBC-AP-IEs"
* found in "../../src/sbcap/asn1/SBC_AP_IEs.asn"
* `asn1c -S /home/pespin/dev/sysmocom/build/new/out/share/asn1c -fcompound-names -gen-APER -no-gen-BER -no-gen-XER -no-gen-JER -no-gen-OER -no-gen-UPER -no-gen-example`
*/
#ifndef _SBcAP_NR_CGI_H_
#define _SBcAP_NR_CGI_H_
#include <asn_application.h>
/* Including external dependencies */
#include <osmocom/sbcap/SBcAP_PLMNidentity.h>
#include <osmocom/sbcap/SBcAP_NRCellIdentity.h>
#include <constr_SEQUENCE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Forward declarations */
struct SBcAP_ProtocolExtensionContainer;
/* SBcAP_NR-CGI */
typedef struct SBcAP_NR_CGI {
SBcAP_PLMNidentity_t pLMNidentity;
SBcAP_NRCellIdentity_t nRCellIdentity;
struct SBcAP_ProtocolExtensionContainer *iE_Extensions; /* OPTIONAL */
/*
* This type is extensible,
* possible extensions are below.
*/
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_NR_CGI_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_NR_CGI;
extern asn_SEQUENCE_specifics_t asn_SPC_SBcAP_NR_CGI_specs_1;
extern asn_TYPE_member_t asn_MBR_SBcAP_NR_CGI_1[3];
#ifdef __cplusplus
}
#endif
/* Referred external types */
#endif /* _SBcAP_NR_CGI_H_ */
#include <asn_internal.h>

View File

@@ -0,0 +1,47 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "SBC-AP-IEs"
* found in "../../src/sbcap/asn1/SBC_AP_IEs.asn"
* `asn1c -S /home/pespin/dev/sysmocom/build/new/out/share/asn1c -fcompound-names -gen-APER -no-gen-BER -no-gen-XER -no-gen-JER -no-gen-OER -no-gen-UPER -no-gen-example`
*/
#ifndef _SBcAP_NR_CGIList_H_
#define _SBcAP_NR_CGIList_H_
#include <asn_application.h>
/* Including external dependencies */
#include <asn_SEQUENCE_OF.h>
#include <constr_SEQUENCE_OF.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Forward declarations */
struct SBcAP_NR_CGI;
/* SBcAP_NR-CGIList */
typedef struct SBcAP_NR_CGIList {
A_SEQUENCE_OF(struct SBcAP_NR_CGI) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_NR_CGIList_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_NR_CGIList;
extern asn_SET_OF_specifics_t asn_SPC_SBcAP_NR_CGIList_specs_1;
extern asn_TYPE_member_t asn_MBR_SBcAP_NR_CGIList_1[1];
extern asn_per_constraints_t asn_PER_type_SBcAP_NR_CGIList_constr_1;
#ifdef __cplusplus
}
#endif
/* Referred external types */
#include <osmocom/sbcap/SBcAP_NR-CGI.h>
#endif /* _SBcAP_NR_CGIList_H_ */
#include <asn_internal.h>

View File

@@ -0,0 +1,38 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "SBC-AP-IEs"
* found in "../../src/sbcap/asn1/SBC_AP_IEs.asn"
* `asn1c -S /home/pespin/dev/sysmocom/build/new/out/share/asn1c -fcompound-names -gen-APER -no-gen-BER -no-gen-XER -no-gen-JER -no-gen-OER -no-gen-UPER -no-gen-example`
*/
#ifndef _SBcAP_NRCellIdentity_H_
#define _SBcAP_NRCellIdentity_H_
#include <asn_application.h>
/* Including external dependencies */
#include <BIT_STRING.h>
#ifdef __cplusplus
extern "C" {
#endif
/* SBcAP_NRCellIdentity */
typedef BIT_STRING_t SBcAP_NRCellIdentity_t;
/* Implementation */
extern asn_per_constraints_t asn_PER_type_SBcAP_NRCellIdentity_constr_1;
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_NRCellIdentity;
asn_struct_free_f SBcAP_NRCellIdentity_free;
asn_struct_print_f SBcAP_NRCellIdentity_print;
asn_constr_check_f SBcAP_NRCellIdentity_constraint;
per_type_decoder_f SBcAP_NRCellIdentity_decode_aper;
per_type_encoder_f SBcAP_NRCellIdentity_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _SBcAP_NRCellIdentity_H_ */
#include <asn_internal.h>

View File

@@ -0,0 +1,57 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "SBC-AP-IEs"
* found in "../../src/sbcap/asn1/SBC_AP_IEs.asn"
* `asn1c -S /home/pespin/dev/sysmocom/build/new/out/share/asn1c -fcompound-names -gen-APER -no-gen-BER -no-gen-XER -no-gen-JER -no-gen-OER -no-gen-UPER -no-gen-example`
*/
#ifndef _SBcAP_NgENB_ID_H_
#define _SBcAP_NgENB_ID_H_
#include <asn_application.h>
/* Including external dependencies */
#include <BIT_STRING.h>
#include <constr_CHOICE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum SBcAP_NgENB_ID_PR {
SBcAP_NgENB_ID_PR_NOTHING, /* No components present */
SBcAP_NgENB_ID_PR_macroNgENB_ID,
SBcAP_NgENB_ID_PR_shortMacroNgENB_ID,
SBcAP_NgENB_ID_PR_longMacroNgENB_ID
/* Extensions may appear below */
} SBcAP_NgENB_ID_PR;
/* SBcAP_NgENB-ID */
typedef struct SBcAP_NgENB_ID {
SBcAP_NgENB_ID_PR present;
union SBcAP_NgENB_ID_u {
BIT_STRING_t macroNgENB_ID;
BIT_STRING_t shortMacroNgENB_ID;
BIT_STRING_t longMacroNgENB_ID;
/*
* This type is extensible,
* possible extensions are below.
*/
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_NgENB_ID_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_NgENB_ID;
#ifdef __cplusplus
}
#endif
#endif /* _SBcAP_NgENB_ID_H_ */
#include <asn_internal.h>

View File

@@ -0,0 +1,38 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "SBC-AP-IEs"
* found in "../../src/sbcap/asn1/SBC_AP_IEs.asn"
* `asn1c -S /home/pespin/dev/sysmocom/build/new/out/share/asn1c -fcompound-names -gen-APER -no-gen-BER -no-gen-XER -no-gen-JER -no-gen-OER -no-gen-UPER -no-gen-example`
*/
#ifndef _SBcAP_Number_of_Broadcasts_Requested_H_
#define _SBcAP_Number_of_Broadcasts_Requested_H_
#include <asn_application.h>
/* Including external dependencies */
#include <NativeInteger.h>
#ifdef __cplusplus
extern "C" {
#endif
/* SBcAP_Number-of-Broadcasts-Requested */
typedef long SBcAP_Number_of_Broadcasts_Requested_t;
/* Implementation */
extern asn_per_constraints_t asn_PER_type_SBcAP_Number_of_Broadcasts_Requested_constr_1;
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_Number_of_Broadcasts_Requested;
asn_struct_free_f SBcAP_Number_of_Broadcasts_Requested_free;
asn_struct_print_f SBcAP_Number_of_Broadcasts_Requested_print;
asn_constr_check_f SBcAP_Number_of_Broadcasts_Requested_constraint;
per_type_decoder_f SBcAP_Number_of_Broadcasts_Requested_decode_aper;
per_type_encoder_f SBcAP_Number_of_Broadcasts_Requested_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _SBcAP_Number_of_Broadcasts_Requested_H_ */
#include <asn_internal.h>

View File

@@ -0,0 +1,38 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "SBC-AP-IEs"
* found in "../../src/sbcap/asn1/SBC_AP_IEs.asn"
* `asn1c -S /home/pespin/dev/sysmocom/build/new/out/share/asn1c -fcompound-names -gen-APER -no-gen-BER -no-gen-XER -no-gen-JER -no-gen-OER -no-gen-UPER -no-gen-example`
*/
#ifndef _SBcAP_NumberOfBroadcasts_H_
#define _SBcAP_NumberOfBroadcasts_H_
#include <asn_application.h>
/* Including external dependencies */
#include <NativeInteger.h>
#ifdef __cplusplus
extern "C" {
#endif
/* SBcAP_NumberOfBroadcasts */
typedef long SBcAP_NumberOfBroadcasts_t;
/* Implementation */
extern asn_per_constraints_t asn_PER_type_SBcAP_NumberOfBroadcasts_constr_1;
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_NumberOfBroadcasts;
asn_struct_free_f SBcAP_NumberOfBroadcasts_free;
asn_struct_print_f SBcAP_NumberOfBroadcasts_print;
asn_constr_check_f SBcAP_NumberOfBroadcasts_constraint;
per_type_decoder_f SBcAP_NumberOfBroadcasts_decode_aper;
per_type_encoder_f SBcAP_NumberOfBroadcasts_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _SBcAP_NumberOfBroadcasts_H_ */
#include <asn_internal.h>

View File

@@ -0,0 +1,38 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "SBC-AP-IEs"
* found in "../../src/sbcap/asn1/SBC_AP_IEs.asn"
* `asn1c -S /home/pespin/dev/sysmocom/build/new/out/share/asn1c -fcompound-names -gen-APER -no-gen-BER -no-gen-XER -no-gen-JER -no-gen-OER -no-gen-UPER -no-gen-example`
*/
#ifndef _SBcAP_Omc_Id_H_
#define _SBcAP_Omc_Id_H_
#include <asn_application.h>
/* Including external dependencies */
#include <OCTET_STRING.h>
#ifdef __cplusplus
extern "C" {
#endif
/* SBcAP_Omc-Id */
typedef OCTET_STRING_t SBcAP_Omc_Id_t;
/* Implementation */
extern asn_per_constraints_t asn_PER_type_SBcAP_Omc_Id_constr_1;
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_Omc_Id;
asn_struct_free_f SBcAP_Omc_Id_free;
asn_struct_print_f SBcAP_Omc_Id_print;
asn_constr_check_f SBcAP_Omc_Id_constraint;
per_type_decoder_f SBcAP_Omc_Id_decode_aper;
per_type_encoder_f SBcAP_Omc_Id_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _SBcAP_Omc_Id_H_ */
#include <asn_internal.h>

View File

@@ -0,0 +1,38 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "SBC-AP-IEs"
* found in "../../src/sbcap/asn1/SBC_AP_IEs.asn"
* `asn1c -S /home/pespin/dev/sysmocom/build/new/out/share/asn1c -fcompound-names -gen-APER -no-gen-BER -no-gen-XER -no-gen-JER -no-gen-OER -no-gen-UPER -no-gen-example`
*/
#ifndef _SBcAP_PLMNidentity_H_
#define _SBcAP_PLMNidentity_H_
#include <asn_application.h>
/* Including external dependencies */
#include <osmocom/sbcap/SBcAP_TBCD-STRING.h>
#ifdef __cplusplus
extern "C" {
#endif
/* SBcAP_PLMNidentity */
typedef SBcAP_TBCD_STRING_t SBcAP_PLMNidentity_t;
/* Implementation */
extern asn_per_constraints_t asn_PER_type_SBcAP_PLMNidentity_constr_1;
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_PLMNidentity;
asn_struct_free_f SBcAP_PLMNidentity_free;
asn_struct_print_f SBcAP_PLMNidentity_print;
asn_constr_check_f SBcAP_PLMNidentity_constraint;
per_type_decoder_f SBcAP_PLMNidentity_decode_aper;
per_type_encoder_f SBcAP_PLMNidentity_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _SBcAP_PLMNidentity_H_ */
#include <asn_internal.h>

View File

@@ -0,0 +1,49 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "SBC-AP-PDU-Contents"
* found in "../../src/sbcap/asn1/SBC_AP_PDU_Contents.asn"
* `asn1c -S /home/pespin/dev/sysmocom/build/new/out/share/asn1c -fcompound-names -gen-APER -no-gen-BER -no-gen-XER -no-gen-JER -no-gen-OER -no-gen-UPER -no-gen-example`
*/
#ifndef _SBcAP_PWS_Failure_Indication_H_
#define _SBcAP_PWS_Failure_Indication_H_
#include <asn_application.h>
/* Including external dependencies */
#include <osmocom/sbcap/SBcAP_ProtocolIE-Container.h>
#include <constr_SEQUENCE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Forward declarations */
struct SBcAP_ProtocolExtensionContainer;
/* SBcAP_PWS-Failure-Indication */
typedef struct SBcAP_PWS_Failure_Indication {
SBcAP_ProtocolIE_Container_86P7_t protocolIEs;
struct SBcAP_ProtocolExtensionContainer *protocolExtensions; /* OPTIONAL */
/*
* This type is extensible,
* possible extensions are below.
*/
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_PWS_Failure_Indication_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_PWS_Failure_Indication;
#ifdef __cplusplus
}
#endif
/* Referred external types */
#include <osmocom/sbcap/SBcAP_ProtocolExtensionContainer.h>
#endif /* _SBcAP_PWS_Failure_Indication_H_ */
#include <asn_internal.h>

View File

@@ -0,0 +1,49 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "SBC-AP-PDU-Contents"
* found in "../../src/sbcap/asn1/SBC_AP_PDU_Contents.asn"
* `asn1c -S /home/pespin/dev/sysmocom/build/new/out/share/asn1c -fcompound-names -gen-APER -no-gen-BER -no-gen-XER -no-gen-JER -no-gen-OER -no-gen-UPER -no-gen-example`
*/
#ifndef _SBcAP_PWS_Restart_Indication_H_
#define _SBcAP_PWS_Restart_Indication_H_
#include <asn_application.h>
/* Including external dependencies */
#include <osmocom/sbcap/SBcAP_ProtocolIE-Container.h>
#include <constr_SEQUENCE.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Forward declarations */
struct SBcAP_ProtocolExtensionContainer;
/* SBcAP_PWS-Restart-Indication */
typedef struct SBcAP_PWS_Restart_Indication {
SBcAP_ProtocolIE_Container_86P6_t protocolIEs;
struct SBcAP_ProtocolExtensionContainer *protocolExtensions; /* OPTIONAL */
/*
* This type is extensible,
* possible extensions are below.
*/
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_PWS_Restart_Indication_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_PWS_Restart_Indication;
#ifdef __cplusplus
}
#endif
/* Referred external types */
#include <osmocom/sbcap/SBcAP_ProtocolExtensionContainer.h>
#endif /* _SBcAP_PWS_Restart_Indication_H_ */
#include <asn_internal.h>

View File

@@ -0,0 +1,46 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "SBC-AP-CommonDataTypes"
* found in "../../src/sbcap/asn1/SBC_AP_CommonDataTypes.asn"
* `asn1c -S /home/pespin/dev/sysmocom/build/new/out/share/asn1c -fcompound-names -gen-APER -no-gen-BER -no-gen-XER -no-gen-JER -no-gen-OER -no-gen-UPER -no-gen-example`
*/
#ifndef _SBcAP_Presence_H_
#define _SBcAP_Presence_H_
#include <asn_application.h>
/* Including external dependencies */
#include <NativeEnumerated.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum SBcAP_Presence {
SBcAP_Presence_optional = 0,
SBcAP_Presence_conditional = 1,
SBcAP_Presence_mandatory = 2
} e_SBcAP_Presence;
/* SBcAP_Presence */
typedef long SBcAP_Presence_t;
/* Implementation */
extern asn_per_constraints_t asn_PER_type_SBcAP_Presence_constr_1;
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_Presence;
extern const asn_INTEGER_specifics_t asn_SPC_Presence_specs_1;
asn_struct_free_f Presence_free;
asn_struct_print_f Presence_print;
asn_constr_check_f Presence_constraint;
per_type_decoder_f Presence_decode_aper;
per_type_encoder_f Presence_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _SBcAP_Presence_H_ */
#include <asn_internal.h>

View File

@@ -0,0 +1,38 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "SBC-AP-CommonDataTypes"
* found in "../../src/sbcap/asn1/SBC_AP_CommonDataTypes.asn"
* `asn1c -S /home/pespin/dev/sysmocom/build/new/out/share/asn1c -fcompound-names -gen-APER -no-gen-BER -no-gen-XER -no-gen-JER -no-gen-OER -no-gen-UPER -no-gen-example`
*/
#ifndef _SBcAP_ProcedureCode_H_
#define _SBcAP_ProcedureCode_H_
#include <asn_application.h>
/* Including external dependencies */
#include <NativeInteger.h>
#ifdef __cplusplus
extern "C" {
#endif
/* SBcAP_ProcedureCode */
typedef long SBcAP_ProcedureCode_t;
/* Implementation */
extern asn_per_constraints_t asn_PER_type_SBcAP_ProcedureCode_constr_1;
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_ProcedureCode;
asn_struct_free_f SBcAP_ProcedureCode_free;
asn_struct_print_f SBcAP_ProcedureCode_print;
asn_constr_check_f SBcAP_ProcedureCode_constraint;
per_type_decoder_f SBcAP_ProcedureCode_decode_aper;
per_type_encoder_f SBcAP_ProcedureCode_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _SBcAP_ProcedureCode_H_ */
#include <asn_internal.h>

View File

@@ -0,0 +1,443 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "SBC-AP-Containers"
* found in "../../src/sbcap/asn1/SBC_AP_Containers.asn"
* `asn1c -S /home/pespin/dev/sysmocom/build/new/out/share/asn1c -fcompound-names -gen-APER -no-gen-BER -no-gen-XER -no-gen-JER -no-gen-OER -no-gen-UPER -no-gen-example`
*/
#ifndef _SBcAP_ProtocolExtensionContainer_H_
#define _SBcAP_ProtocolExtensionContainer_H_
#include <asn_application.h>
/* Including external dependencies */
#include <asn_SEQUENCE_OF.h>
#include <constr_SEQUENCE_OF.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Forward declarations */
struct SBcAP_Broadcast_Scheduled_Area_List_ExtIEs;
struct SBcAP_Broadcast_Scheduled_Area_List_5GS_ExtIEs;
struct SBcAP_Broadcast_Cancelled_Area_List_ExtIEs;
struct SBcAP_Broadcast_Cancelled_Area_List_5GS_ExtIEs;
struct SBcAP_CancelledCellinEAI_Item_ExtIEs;
struct SBcAP_CancelledCellinTAI_Item_ExtIEs;
struct SBcAP_CancelledCellinTAI_5GS_ExtIEs;
struct SBcAP_CellId_Broadcast_List_Item_ExtIEs;
struct SBcAP_CellId_Broadcast_List_5GS_ExtIEs;
struct SBcAP_CellID_Cancelled_Item_ExtIEs;
struct SBcAP_CellID_Cancelled_5GS_ExtIEs;
struct SBcAP_CriticalityDiagnostics_ExtIEs;
struct SBcAP_CriticalityDiagnostics_IE_Item_ExtIEs;
struct SBcAP_EmergencyAreaID_Broadcast_List_Item_ExtIEs;
struct SBcAP_EmergencyAreaID_Cancelled_Item_ExtIEs;
struct SBcAP_EUTRAN_CGI_ExtIEs;
struct SBcAP_GlobalENB_ID_ExtIEs;
struct SBcAP_Global_GNB_ID_ExtIEs;
struct SBcAP_Global_NgENB_ID_ExtIEs;
struct SBcAP_NR_CGI_ExtIEs;
struct SBcAP_ScheduledCellinEAI_Item_ExtIEs;
struct SBcAP_ScheduledCellinTAI_Item_ExtIEs;
struct SBcAP_ScheduledCellinTAI_5GS_ExtIEs;
struct SBcAP_TAI_Broadcast_List_Item_ExtIEs;
struct SBcAP_TAI_Broadcast_List_5GS_ExtIEs;
struct SBcAP_TAI_Cancelled_List_Item_ExtIEs;
struct SBcAP_TAI_Cancelled_List_5GS_ExtIEs;
struct SBcAP_TAI_ExtIEs;
struct SBcAP_TAI_5GS_ExtIEs;
struct SBcAP_Write_Replace_Warning_Request_Extensions;
struct SBcAP_Write_Replace_Warning_Response_Extensions;
struct SBcAP_Stop_Warning_Request_Extensions;
struct SBcAP_Stop_Warning_Response_Extensions;
struct SBcAP_Write_Replace_Warning_Indication_Extensions;
struct SBcAP_Stop_Warning_Indication_Extensions;
struct SBcAP_PWS_Restart_Indication_Extensions;
struct SBcAP_PWS_Failure_Indication_Extensions;
/* SBcAP_ProtocolExtensionContainer */
typedef struct SBcAP_ProtocolExtensionContainer_112P0 {
A_SEQUENCE_OF(struct SBcAP_Broadcast_Scheduled_Area_List_ExtIEs) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_ProtocolExtensionContainer_112P0_t;
typedef struct SBcAP_ProtocolExtensionContainer_112P1 {
A_SEQUENCE_OF(struct SBcAP_Broadcast_Scheduled_Area_List_5GS_ExtIEs) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_ProtocolExtensionContainer_112P1_t;
typedef struct SBcAP_ProtocolExtensionContainer_112P2 {
A_SEQUENCE_OF(struct SBcAP_Broadcast_Cancelled_Area_List_ExtIEs) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_ProtocolExtensionContainer_112P2_t;
typedef struct SBcAP_ProtocolExtensionContainer_112P3 {
A_SEQUENCE_OF(struct SBcAP_Broadcast_Cancelled_Area_List_5GS_ExtIEs) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_ProtocolExtensionContainer_112P3_t;
typedef struct SBcAP_ProtocolExtensionContainer_112P4 {
A_SEQUENCE_OF(struct SBcAP_CancelledCellinEAI_Item_ExtIEs) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_ProtocolExtensionContainer_112P4_t;
typedef struct SBcAP_ProtocolExtensionContainer_112P5 {
A_SEQUENCE_OF(struct SBcAP_CancelledCellinTAI_Item_ExtIEs) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_ProtocolExtensionContainer_112P5_t;
typedef struct SBcAP_ProtocolExtensionContainer_112P6 {
A_SEQUENCE_OF(struct SBcAP_CancelledCellinTAI_5GS_ExtIEs) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_ProtocolExtensionContainer_112P6_t;
typedef struct SBcAP_ProtocolExtensionContainer_112P7 {
A_SEQUENCE_OF(struct SBcAP_CellId_Broadcast_List_Item_ExtIEs) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_ProtocolExtensionContainer_112P7_t;
typedef struct SBcAP_ProtocolExtensionContainer_112P8 {
A_SEQUENCE_OF(struct SBcAP_CellId_Broadcast_List_5GS_ExtIEs) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_ProtocolExtensionContainer_112P8_t;
typedef struct SBcAP_ProtocolExtensionContainer_112P9 {
A_SEQUENCE_OF(struct SBcAP_CellID_Cancelled_Item_ExtIEs) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_ProtocolExtensionContainer_112P9_t;
typedef struct SBcAP_ProtocolExtensionContainer_112P10 {
A_SEQUENCE_OF(struct SBcAP_CellID_Cancelled_5GS_ExtIEs) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_ProtocolExtensionContainer_112P10_t;
typedef struct SBcAP_ProtocolExtensionContainer_112P11 {
A_SEQUENCE_OF(struct SBcAP_CriticalityDiagnostics_ExtIEs) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_ProtocolExtensionContainer_112P11_t;
typedef struct SBcAP_ProtocolExtensionContainer_112P12 {
A_SEQUENCE_OF(struct SBcAP_CriticalityDiagnostics_IE_Item_ExtIEs) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_ProtocolExtensionContainer_112P12_t;
typedef struct SBcAP_ProtocolExtensionContainer_112P13 {
A_SEQUENCE_OF(struct SBcAP_EmergencyAreaID_Broadcast_List_Item_ExtIEs) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_ProtocolExtensionContainer_112P13_t;
typedef struct SBcAP_ProtocolExtensionContainer_112P14 {
A_SEQUENCE_OF(struct SBcAP_EmergencyAreaID_Cancelled_Item_ExtIEs) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_ProtocolExtensionContainer_112P14_t;
typedef struct SBcAP_ProtocolExtensionContainer_112P15 {
A_SEQUENCE_OF(struct SBcAP_EUTRAN_CGI_ExtIEs) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_ProtocolExtensionContainer_112P15_t;
typedef struct SBcAP_ProtocolExtensionContainer_112P16 {
A_SEQUENCE_OF(struct SBcAP_GlobalENB_ID_ExtIEs) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_ProtocolExtensionContainer_112P16_t;
typedef struct SBcAP_ProtocolExtensionContainer_112P17 {
A_SEQUENCE_OF(struct SBcAP_Global_GNB_ID_ExtIEs) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_ProtocolExtensionContainer_112P17_t;
typedef struct SBcAP_ProtocolExtensionContainer_112P18 {
A_SEQUENCE_OF(struct SBcAP_Global_NgENB_ID_ExtIEs) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_ProtocolExtensionContainer_112P18_t;
typedef struct SBcAP_ProtocolExtensionContainer_112P19 {
A_SEQUENCE_OF(struct SBcAP_NR_CGI_ExtIEs) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_ProtocolExtensionContainer_112P19_t;
typedef struct SBcAP_ProtocolExtensionContainer_112P20 {
A_SEQUENCE_OF(struct SBcAP_ScheduledCellinEAI_Item_ExtIEs) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_ProtocolExtensionContainer_112P20_t;
typedef struct SBcAP_ProtocolExtensionContainer_112P21 {
A_SEQUENCE_OF(struct SBcAP_ScheduledCellinTAI_Item_ExtIEs) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_ProtocolExtensionContainer_112P21_t;
typedef struct SBcAP_ProtocolExtensionContainer_112P22 {
A_SEQUENCE_OF(struct SBcAP_ScheduledCellinTAI_5GS_ExtIEs) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_ProtocolExtensionContainer_112P22_t;
typedef struct SBcAP_ProtocolExtensionContainer_112P23 {
A_SEQUENCE_OF(struct SBcAP_TAI_Broadcast_List_Item_ExtIEs) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_ProtocolExtensionContainer_112P23_t;
typedef struct SBcAP_ProtocolExtensionContainer_112P24 {
A_SEQUENCE_OF(struct SBcAP_TAI_Broadcast_List_5GS_ExtIEs) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_ProtocolExtensionContainer_112P24_t;
typedef struct SBcAP_ProtocolExtensionContainer_112P25 {
A_SEQUENCE_OF(struct SBcAP_TAI_Cancelled_List_Item_ExtIEs) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_ProtocolExtensionContainer_112P25_t;
typedef struct SBcAP_ProtocolExtensionContainer_112P26 {
A_SEQUENCE_OF(struct SBcAP_TAI_Cancelled_List_5GS_ExtIEs) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_ProtocolExtensionContainer_112P26_t;
typedef struct SBcAP_ProtocolExtensionContainer_112P27 {
A_SEQUENCE_OF(struct SBcAP_TAI_ExtIEs) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_ProtocolExtensionContainer_112P27_t;
typedef struct SBcAP_ProtocolExtensionContainer_112P28 {
A_SEQUENCE_OF(struct SBcAP_TAI_5GS_ExtIEs) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_ProtocolExtensionContainer_112P28_t;
typedef struct SBcAP_ProtocolExtensionContainer_112P29 {
A_SEQUENCE_OF(struct SBcAP_Write_Replace_Warning_Request_Extensions) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_ProtocolExtensionContainer_112P29_t;
typedef struct SBcAP_ProtocolExtensionContainer_112P30 {
A_SEQUENCE_OF(struct SBcAP_Write_Replace_Warning_Response_Extensions) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_ProtocolExtensionContainer_112P30_t;
typedef struct SBcAP_ProtocolExtensionContainer_112P31 {
A_SEQUENCE_OF(struct SBcAP_Stop_Warning_Request_Extensions) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_ProtocolExtensionContainer_112P31_t;
typedef struct SBcAP_ProtocolExtensionContainer_112P32 {
A_SEQUENCE_OF(struct SBcAP_Stop_Warning_Response_Extensions) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_ProtocolExtensionContainer_112P32_t;
typedef struct SBcAP_ProtocolExtensionContainer_112P33 {
A_SEQUENCE_OF(struct SBcAP_Write_Replace_Warning_Indication_Extensions) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_ProtocolExtensionContainer_112P33_t;
typedef struct SBcAP_ProtocolExtensionContainer_112P34 {
A_SEQUENCE_OF(struct SBcAP_Stop_Warning_Indication_Extensions) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_ProtocolExtensionContainer_112P34_t;
typedef struct SBcAP_ProtocolExtensionContainer_112P35 {
A_SEQUENCE_OF(struct SBcAP_PWS_Restart_Indication_Extensions) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_ProtocolExtensionContainer_112P35_t;
typedef struct SBcAP_ProtocolExtensionContainer_112P36 {
A_SEQUENCE_OF(struct SBcAP_PWS_Failure_Indication_Extensions) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_ProtocolExtensionContainer_112P36_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_ProtocolExtensionContainer_112P0;
extern asn_SET_OF_specifics_t asn_SPC_SBcAP_ProtocolExtensionContainer_112P0_specs_1;
extern asn_TYPE_member_t asn_MBR_SBcAP_ProtocolExtensionContainer_112P0_1[1];
extern asn_per_constraints_t asn_PER_type_SBcAP_ProtocolExtensionContainer_112P0_constr_1;
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_ProtocolExtensionContainer_112P1;
extern asn_SET_OF_specifics_t asn_SPC_SBcAP_ProtocolExtensionContainer_112P1_specs_3;
extern asn_TYPE_member_t asn_MBR_SBcAP_ProtocolExtensionContainer_112P1_3[1];
extern asn_per_constraints_t asn_PER_type_SBcAP_ProtocolExtensionContainer_112P1_constr_3;
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_ProtocolExtensionContainer_112P2;
extern asn_SET_OF_specifics_t asn_SPC_SBcAP_ProtocolExtensionContainer_112P2_specs_5;
extern asn_TYPE_member_t asn_MBR_SBcAP_ProtocolExtensionContainer_112P2_5[1];
extern asn_per_constraints_t asn_PER_type_SBcAP_ProtocolExtensionContainer_112P2_constr_5;
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_ProtocolExtensionContainer_112P3;
extern asn_SET_OF_specifics_t asn_SPC_SBcAP_ProtocolExtensionContainer_112P3_specs_7;
extern asn_TYPE_member_t asn_MBR_SBcAP_ProtocolExtensionContainer_112P3_7[1];
extern asn_per_constraints_t asn_PER_type_SBcAP_ProtocolExtensionContainer_112P3_constr_7;
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_ProtocolExtensionContainer_112P4;
extern asn_SET_OF_specifics_t asn_SPC_SBcAP_ProtocolExtensionContainer_112P4_specs_9;
extern asn_TYPE_member_t asn_MBR_SBcAP_ProtocolExtensionContainer_112P4_9[1];
extern asn_per_constraints_t asn_PER_type_SBcAP_ProtocolExtensionContainer_112P4_constr_9;
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_ProtocolExtensionContainer_112P5;
extern asn_SET_OF_specifics_t asn_SPC_SBcAP_ProtocolExtensionContainer_112P5_specs_11;
extern asn_TYPE_member_t asn_MBR_SBcAP_ProtocolExtensionContainer_112P5_11[1];
extern asn_per_constraints_t asn_PER_type_SBcAP_ProtocolExtensionContainer_112P5_constr_11;
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_ProtocolExtensionContainer_112P6;
extern asn_SET_OF_specifics_t asn_SPC_SBcAP_ProtocolExtensionContainer_112P6_specs_13;
extern asn_TYPE_member_t asn_MBR_SBcAP_ProtocolExtensionContainer_112P6_13[1];
extern asn_per_constraints_t asn_PER_type_SBcAP_ProtocolExtensionContainer_112P6_constr_13;
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_ProtocolExtensionContainer_112P7;
extern asn_SET_OF_specifics_t asn_SPC_SBcAP_ProtocolExtensionContainer_112P7_specs_15;
extern asn_TYPE_member_t asn_MBR_SBcAP_ProtocolExtensionContainer_112P7_15[1];
extern asn_per_constraints_t asn_PER_type_SBcAP_ProtocolExtensionContainer_112P7_constr_15;
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_ProtocolExtensionContainer_112P8;
extern asn_SET_OF_specifics_t asn_SPC_SBcAP_ProtocolExtensionContainer_112P8_specs_17;
extern asn_TYPE_member_t asn_MBR_SBcAP_ProtocolExtensionContainer_112P8_17[1];
extern asn_per_constraints_t asn_PER_type_SBcAP_ProtocolExtensionContainer_112P8_constr_17;
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_ProtocolExtensionContainer_112P9;
extern asn_SET_OF_specifics_t asn_SPC_SBcAP_ProtocolExtensionContainer_112P9_specs_19;
extern asn_TYPE_member_t asn_MBR_SBcAP_ProtocolExtensionContainer_112P9_19[1];
extern asn_per_constraints_t asn_PER_type_SBcAP_ProtocolExtensionContainer_112P9_constr_19;
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_ProtocolExtensionContainer_112P10;
extern asn_SET_OF_specifics_t asn_SPC_SBcAP_ProtocolExtensionContainer_112P10_specs_21;
extern asn_TYPE_member_t asn_MBR_SBcAP_ProtocolExtensionContainer_112P10_21[1];
extern asn_per_constraints_t asn_PER_type_SBcAP_ProtocolExtensionContainer_112P10_constr_21;
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_ProtocolExtensionContainer_112P11;
extern asn_SET_OF_specifics_t asn_SPC_SBcAP_ProtocolExtensionContainer_112P11_specs_23;
extern asn_TYPE_member_t asn_MBR_SBcAP_ProtocolExtensionContainer_112P11_23[1];
extern asn_per_constraints_t asn_PER_type_SBcAP_ProtocolExtensionContainer_112P11_constr_23;
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_ProtocolExtensionContainer_112P12;
extern asn_SET_OF_specifics_t asn_SPC_SBcAP_ProtocolExtensionContainer_112P12_specs_25;
extern asn_TYPE_member_t asn_MBR_SBcAP_ProtocolExtensionContainer_112P12_25[1];
extern asn_per_constraints_t asn_PER_type_SBcAP_ProtocolExtensionContainer_112P12_constr_25;
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_ProtocolExtensionContainer_112P13;
extern asn_SET_OF_specifics_t asn_SPC_SBcAP_ProtocolExtensionContainer_112P13_specs_27;
extern asn_TYPE_member_t asn_MBR_SBcAP_ProtocolExtensionContainer_112P13_27[1];
extern asn_per_constraints_t asn_PER_type_SBcAP_ProtocolExtensionContainer_112P13_constr_27;
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_ProtocolExtensionContainer_112P14;
extern asn_SET_OF_specifics_t asn_SPC_SBcAP_ProtocolExtensionContainer_112P14_specs_29;
extern asn_TYPE_member_t asn_MBR_SBcAP_ProtocolExtensionContainer_112P14_29[1];
extern asn_per_constraints_t asn_PER_type_SBcAP_ProtocolExtensionContainer_112P14_constr_29;
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_ProtocolExtensionContainer_112P15;
extern asn_SET_OF_specifics_t asn_SPC_SBcAP_ProtocolExtensionContainer_112P15_specs_31;
extern asn_TYPE_member_t asn_MBR_SBcAP_ProtocolExtensionContainer_112P15_31[1];
extern asn_per_constraints_t asn_PER_type_SBcAP_ProtocolExtensionContainer_112P15_constr_31;
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_ProtocolExtensionContainer_112P16;
extern asn_SET_OF_specifics_t asn_SPC_SBcAP_ProtocolExtensionContainer_112P16_specs_33;
extern asn_TYPE_member_t asn_MBR_SBcAP_ProtocolExtensionContainer_112P16_33[1];
extern asn_per_constraints_t asn_PER_type_SBcAP_ProtocolExtensionContainer_112P16_constr_33;
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_ProtocolExtensionContainer_112P17;
extern asn_SET_OF_specifics_t asn_SPC_SBcAP_ProtocolExtensionContainer_112P17_specs_35;
extern asn_TYPE_member_t asn_MBR_SBcAP_ProtocolExtensionContainer_112P17_35[1];
extern asn_per_constraints_t asn_PER_type_SBcAP_ProtocolExtensionContainer_112P17_constr_35;
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_ProtocolExtensionContainer_112P18;
extern asn_SET_OF_specifics_t asn_SPC_SBcAP_ProtocolExtensionContainer_112P18_specs_37;
extern asn_TYPE_member_t asn_MBR_SBcAP_ProtocolExtensionContainer_112P18_37[1];
extern asn_per_constraints_t asn_PER_type_SBcAP_ProtocolExtensionContainer_112P18_constr_37;
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_ProtocolExtensionContainer_112P19;
extern asn_SET_OF_specifics_t asn_SPC_SBcAP_ProtocolExtensionContainer_112P19_specs_39;
extern asn_TYPE_member_t asn_MBR_SBcAP_ProtocolExtensionContainer_112P19_39[1];
extern asn_per_constraints_t asn_PER_type_SBcAP_ProtocolExtensionContainer_112P19_constr_39;
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_ProtocolExtensionContainer_112P20;
extern asn_SET_OF_specifics_t asn_SPC_SBcAP_ProtocolExtensionContainer_112P20_specs_41;
extern asn_TYPE_member_t asn_MBR_SBcAP_ProtocolExtensionContainer_112P20_41[1];
extern asn_per_constraints_t asn_PER_type_SBcAP_ProtocolExtensionContainer_112P20_constr_41;
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_ProtocolExtensionContainer_112P21;
extern asn_SET_OF_specifics_t asn_SPC_SBcAP_ProtocolExtensionContainer_112P21_specs_43;
extern asn_TYPE_member_t asn_MBR_SBcAP_ProtocolExtensionContainer_112P21_43[1];
extern asn_per_constraints_t asn_PER_type_SBcAP_ProtocolExtensionContainer_112P21_constr_43;
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_ProtocolExtensionContainer_112P22;
extern asn_SET_OF_specifics_t asn_SPC_SBcAP_ProtocolExtensionContainer_112P22_specs_45;
extern asn_TYPE_member_t asn_MBR_SBcAP_ProtocolExtensionContainer_112P22_45[1];
extern asn_per_constraints_t asn_PER_type_SBcAP_ProtocolExtensionContainer_112P22_constr_45;
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_ProtocolExtensionContainer_112P23;
extern asn_SET_OF_specifics_t asn_SPC_SBcAP_ProtocolExtensionContainer_112P23_specs_47;
extern asn_TYPE_member_t asn_MBR_SBcAP_ProtocolExtensionContainer_112P23_47[1];
extern asn_per_constraints_t asn_PER_type_SBcAP_ProtocolExtensionContainer_112P23_constr_47;
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_ProtocolExtensionContainer_112P24;
extern asn_SET_OF_specifics_t asn_SPC_SBcAP_ProtocolExtensionContainer_112P24_specs_49;
extern asn_TYPE_member_t asn_MBR_SBcAP_ProtocolExtensionContainer_112P24_49[1];
extern asn_per_constraints_t asn_PER_type_SBcAP_ProtocolExtensionContainer_112P24_constr_49;
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_ProtocolExtensionContainer_112P25;
extern asn_SET_OF_specifics_t asn_SPC_SBcAP_ProtocolExtensionContainer_112P25_specs_51;
extern asn_TYPE_member_t asn_MBR_SBcAP_ProtocolExtensionContainer_112P25_51[1];
extern asn_per_constraints_t asn_PER_type_SBcAP_ProtocolExtensionContainer_112P25_constr_51;
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_ProtocolExtensionContainer_112P26;
extern asn_SET_OF_specifics_t asn_SPC_SBcAP_ProtocolExtensionContainer_112P26_specs_53;
extern asn_TYPE_member_t asn_MBR_SBcAP_ProtocolExtensionContainer_112P26_53[1];
extern asn_per_constraints_t asn_PER_type_SBcAP_ProtocolExtensionContainer_112P26_constr_53;
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_ProtocolExtensionContainer_112P27;
extern asn_SET_OF_specifics_t asn_SPC_SBcAP_ProtocolExtensionContainer_112P27_specs_55;
extern asn_TYPE_member_t asn_MBR_SBcAP_ProtocolExtensionContainer_112P27_55[1];
extern asn_per_constraints_t asn_PER_type_SBcAP_ProtocolExtensionContainer_112P27_constr_55;
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_ProtocolExtensionContainer_112P28;
extern asn_SET_OF_specifics_t asn_SPC_SBcAP_ProtocolExtensionContainer_112P28_specs_57;
extern asn_TYPE_member_t asn_MBR_SBcAP_ProtocolExtensionContainer_112P28_57[1];
extern asn_per_constraints_t asn_PER_type_SBcAP_ProtocolExtensionContainer_112P28_constr_57;
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_ProtocolExtensionContainer_112P29;
extern asn_SET_OF_specifics_t asn_SPC_SBcAP_ProtocolExtensionContainer_112P29_specs_59;
extern asn_TYPE_member_t asn_MBR_SBcAP_ProtocolExtensionContainer_112P29_59[1];
extern asn_per_constraints_t asn_PER_type_SBcAP_ProtocolExtensionContainer_112P29_constr_59;
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_ProtocolExtensionContainer_112P30;
extern asn_SET_OF_specifics_t asn_SPC_SBcAP_ProtocolExtensionContainer_112P30_specs_61;
extern asn_TYPE_member_t asn_MBR_SBcAP_ProtocolExtensionContainer_112P30_61[1];
extern asn_per_constraints_t asn_PER_type_SBcAP_ProtocolExtensionContainer_112P30_constr_61;
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_ProtocolExtensionContainer_112P31;
extern asn_SET_OF_specifics_t asn_SPC_SBcAP_ProtocolExtensionContainer_112P31_specs_63;
extern asn_TYPE_member_t asn_MBR_SBcAP_ProtocolExtensionContainer_112P31_63[1];
extern asn_per_constraints_t asn_PER_type_SBcAP_ProtocolExtensionContainer_112P31_constr_63;
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_ProtocolExtensionContainer_112P32;
extern asn_SET_OF_specifics_t asn_SPC_SBcAP_ProtocolExtensionContainer_112P32_specs_65;
extern asn_TYPE_member_t asn_MBR_SBcAP_ProtocolExtensionContainer_112P32_65[1];
extern asn_per_constraints_t asn_PER_type_SBcAP_ProtocolExtensionContainer_112P32_constr_65;
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_ProtocolExtensionContainer_112P33;
extern asn_SET_OF_specifics_t asn_SPC_SBcAP_ProtocolExtensionContainer_112P33_specs_67;
extern asn_TYPE_member_t asn_MBR_SBcAP_ProtocolExtensionContainer_112P33_67[1];
extern asn_per_constraints_t asn_PER_type_SBcAP_ProtocolExtensionContainer_112P33_constr_67;
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_ProtocolExtensionContainer_112P34;
extern asn_SET_OF_specifics_t asn_SPC_SBcAP_ProtocolExtensionContainer_112P34_specs_69;
extern asn_TYPE_member_t asn_MBR_SBcAP_ProtocolExtensionContainer_112P34_69[1];
extern asn_per_constraints_t asn_PER_type_SBcAP_ProtocolExtensionContainer_112P34_constr_69;
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_ProtocolExtensionContainer_112P35;
extern asn_SET_OF_specifics_t asn_SPC_SBcAP_ProtocolExtensionContainer_112P35_specs_71;
extern asn_TYPE_member_t asn_MBR_SBcAP_ProtocolExtensionContainer_112P35_71[1];
extern asn_per_constraints_t asn_PER_type_SBcAP_ProtocolExtensionContainer_112P35_constr_71;
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_ProtocolExtensionContainer_112P36;
extern asn_SET_OF_specifics_t asn_SPC_SBcAP_ProtocolExtensionContainer_112P36_specs_73;
extern asn_TYPE_member_t asn_MBR_SBcAP_ProtocolExtensionContainer_112P36_73[1];
extern asn_per_constraints_t asn_PER_type_SBcAP_ProtocolExtensionContainer_112P36_constr_73;
#ifdef __cplusplus
}
#endif
/* Referred external types */
#include <osmocom/sbcap/SBcAP_ProtocolExtensionField.h>
#endif /* _SBcAP_ProtocolExtensionContainer_H_ */
#include <asn_internal.h>

View File

@@ -0,0 +1,891 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "SBC-AP-Containers"
* found in "../../src/sbcap/asn1/SBC_AP_Containers.asn"
* `asn1c -S /home/pespin/dev/sysmocom/build/new/out/share/asn1c -fcompound-names -gen-APER -no-gen-BER -no-gen-XER -no-gen-JER -no-gen-OER -no-gen-UPER -no-gen-example`
*/
#ifndef _SBcAP_ProtocolExtensionField_H_
#define _SBcAP_ProtocolExtensionField_H_
#include <asn_application.h>
/* Including external dependencies */
#include <osmocom/sbcap/SBcAP_ProtocolExtensionID.h>
#include <osmocom/sbcap/SBcAP_Criticality.h>
#include <ANY.h>
#include <asn_ioc.h>
#include <OPEN_TYPE.h>
#include <constr_CHOICE.h>
#include <constr_SEQUENCE.h>
#include <osmocom/sbcap/SBcAP_List-of-5GS-TAIs.h>
#include <osmocom/sbcap/SBcAP_Presence.h>
#include <osmocom/sbcap/SBcAP_Warning-Area-List-5GS.h>
#include <osmocom/sbcap/SBcAP_Global-RAN-Node-ID.h>
#include <osmocom/sbcap/SBcAP_RAT-Selector-5GS.h>
#include <osmocom/sbcap/SBcAP_Unknown-5GS-Tracking-Area-List.h>
#include <osmocom/sbcap/SBcAP_Broadcast-Scheduled-Area-List-5GS.h>
#include <osmocom/sbcap/SBcAP_Broadcast-Cancelled-Area-List-5GS.h>
#include <osmocom/sbcap/SBcAP_Broadcast-Empty-Area-List-5GS.h>
#include <osmocom/sbcap/SBcAP_Restarted-Cell-List-NR.h>
#include <osmocom/sbcap/SBcAP_List-of-5GS-TAI-for-Restart.h>
#include <osmocom/sbcap/SBcAP_Global-GNB-ID.h>
#include <osmocom/sbcap/SBcAP_Failed-Cell-List-NR.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Dependencies */
typedef enum SBcAP_Broadcast_Scheduled_Area_List_ExtIEs__extensionValue_PR {
SBcAP_Broadcast_Scheduled_Area_List_ExtIEs__extensionValue_PR_NOTHING /* No components present */
} SBcAP_Broadcast_Scheduled_Area_List_ExtIEs__extensionValue_PR;
typedef enum SBcAP_Broadcast_Scheduled_Area_List_5GS_ExtIEs__extensionValue_PR {
SBcAP_Broadcast_Scheduled_Area_List_5GS_ExtIEs__extensionValue_PR_NOTHING /* No components present */
} SBcAP_Broadcast_Scheduled_Area_List_5GS_ExtIEs__extensionValue_PR;
typedef enum SBcAP_Broadcast_Cancelled_Area_List_ExtIEs__extensionValue_PR {
SBcAP_Broadcast_Cancelled_Area_List_ExtIEs__extensionValue_PR_NOTHING /* No components present */
} SBcAP_Broadcast_Cancelled_Area_List_ExtIEs__extensionValue_PR;
typedef enum SBcAP_Broadcast_Cancelled_Area_List_5GS_ExtIEs__extensionValue_PR {
SBcAP_Broadcast_Cancelled_Area_List_5GS_ExtIEs__extensionValue_PR_NOTHING /* No components present */
} SBcAP_Broadcast_Cancelled_Area_List_5GS_ExtIEs__extensionValue_PR;
typedef enum SBcAP_CancelledCellinEAI_Item_ExtIEs__extensionValue_PR {
SBcAP_CancelledCellinEAI_Item_ExtIEs__extensionValue_PR_NOTHING /* No components present */
} SBcAP_CancelledCellinEAI_Item_ExtIEs__extensionValue_PR;
typedef enum SBcAP_CancelledCellinTAI_Item_ExtIEs__extensionValue_PR {
SBcAP_CancelledCellinTAI_Item_ExtIEs__extensionValue_PR_NOTHING /* No components present */
} SBcAP_CancelledCellinTAI_Item_ExtIEs__extensionValue_PR;
typedef enum SBcAP_CancelledCellinTAI_5GS_ExtIEs__extensionValue_PR {
SBcAP_CancelledCellinTAI_5GS_ExtIEs__extensionValue_PR_NOTHING /* No components present */
} SBcAP_CancelledCellinTAI_5GS_ExtIEs__extensionValue_PR;
typedef enum SBcAP_CellId_Broadcast_List_Item_ExtIEs__extensionValue_PR {
SBcAP_CellId_Broadcast_List_Item_ExtIEs__extensionValue_PR_NOTHING /* No components present */
} SBcAP_CellId_Broadcast_List_Item_ExtIEs__extensionValue_PR;
typedef enum SBcAP_CellId_Broadcast_List_5GS_ExtIEs__extensionValue_PR {
SBcAP_CellId_Broadcast_List_5GS_ExtIEs__extensionValue_PR_NOTHING /* No components present */
} SBcAP_CellId_Broadcast_List_5GS_ExtIEs__extensionValue_PR;
typedef enum SBcAP_CellID_Cancelled_Item_ExtIEs__extensionValue_PR {
SBcAP_CellID_Cancelled_Item_ExtIEs__extensionValue_PR_NOTHING /* No components present */
} SBcAP_CellID_Cancelled_Item_ExtIEs__extensionValue_PR;
typedef enum SBcAP_CellID_Cancelled_5GS_ExtIEs__extensionValue_PR {
SBcAP_CellID_Cancelled_5GS_ExtIEs__extensionValue_PR_NOTHING /* No components present */
} SBcAP_CellID_Cancelled_5GS_ExtIEs__extensionValue_PR;
typedef enum SBcAP_CriticalityDiagnostics_ExtIEs__extensionValue_PR {
SBcAP_CriticalityDiagnostics_ExtIEs__extensionValue_PR_NOTHING /* No components present */
} SBcAP_CriticalityDiagnostics_ExtIEs__extensionValue_PR;
typedef enum SBcAP_CriticalityDiagnostics_IE_Item_ExtIEs__extensionValue_PR {
SBcAP_CriticalityDiagnostics_IE_Item_ExtIEs__extensionValue_PR_NOTHING /* No components present */
} SBcAP_CriticalityDiagnostics_IE_Item_ExtIEs__extensionValue_PR;
typedef enum SBcAP_EmergencyAreaID_Broadcast_List_Item_ExtIEs__extensionValue_PR {
SBcAP_EmergencyAreaID_Broadcast_List_Item_ExtIEs__extensionValue_PR_NOTHING /* No components present */
} SBcAP_EmergencyAreaID_Broadcast_List_Item_ExtIEs__extensionValue_PR;
typedef enum SBcAP_EmergencyAreaID_Cancelled_Item_ExtIEs__extensionValue_PR {
SBcAP_EmergencyAreaID_Cancelled_Item_ExtIEs__extensionValue_PR_NOTHING /* No components present */
} SBcAP_EmergencyAreaID_Cancelled_Item_ExtIEs__extensionValue_PR;
typedef enum SBcAP_EUTRAN_CGI_ExtIEs__extensionValue_PR {
SBcAP_EUTRAN_CGI_ExtIEs__extensionValue_PR_NOTHING /* No components present */
} SBcAP_EUTRAN_CGI_ExtIEs__extensionValue_PR;
typedef enum SBcAP_GlobalENB_ID_ExtIEs__extensionValue_PR {
SBcAP_GlobalENB_ID_ExtIEs__extensionValue_PR_NOTHING /* No components present */
} SBcAP_GlobalENB_ID_ExtIEs__extensionValue_PR;
typedef enum SBcAP_Global_GNB_ID_ExtIEs__extensionValue_PR {
SBcAP_Global_GNB_ID_ExtIEs__extensionValue_PR_NOTHING /* No components present */
} SBcAP_Global_GNB_ID_ExtIEs__extensionValue_PR;
typedef enum SBcAP_Global_NgENB_ID_ExtIEs__extensionValue_PR {
SBcAP_Global_NgENB_ID_ExtIEs__extensionValue_PR_NOTHING /* No components present */
} SBcAP_Global_NgENB_ID_ExtIEs__extensionValue_PR;
typedef enum SBcAP_NR_CGI_ExtIEs__extensionValue_PR {
SBcAP_NR_CGI_ExtIEs__extensionValue_PR_NOTHING /* No components present */
} SBcAP_NR_CGI_ExtIEs__extensionValue_PR;
typedef enum SBcAP_ScheduledCellinEAI_Item_ExtIEs__extensionValue_PR {
SBcAP_ScheduledCellinEAI_Item_ExtIEs__extensionValue_PR_NOTHING /* No components present */
} SBcAP_ScheduledCellinEAI_Item_ExtIEs__extensionValue_PR;
typedef enum SBcAP_ScheduledCellinTAI_Item_ExtIEs__extensionValue_PR {
SBcAP_ScheduledCellinTAI_Item_ExtIEs__extensionValue_PR_NOTHING /* No components present */
} SBcAP_ScheduledCellinTAI_Item_ExtIEs__extensionValue_PR;
typedef enum SBcAP_ScheduledCellinTAI_5GS_ExtIEs__extensionValue_PR {
SBcAP_ScheduledCellinTAI_5GS_ExtIEs__extensionValue_PR_NOTHING /* No components present */
} SBcAP_ScheduledCellinTAI_5GS_ExtIEs__extensionValue_PR;
typedef enum SBcAP_TAI_Broadcast_List_Item_ExtIEs__extensionValue_PR {
SBcAP_TAI_Broadcast_List_Item_ExtIEs__extensionValue_PR_NOTHING /* No components present */
} SBcAP_TAI_Broadcast_List_Item_ExtIEs__extensionValue_PR;
typedef enum SBcAP_TAI_Broadcast_List_5GS_ExtIEs__extensionValue_PR {
SBcAP_TAI_Broadcast_List_5GS_ExtIEs__extensionValue_PR_NOTHING /* No components present */
} SBcAP_TAI_Broadcast_List_5GS_ExtIEs__extensionValue_PR;
typedef enum SBcAP_TAI_Cancelled_List_Item_ExtIEs__extensionValue_PR {
SBcAP_TAI_Cancelled_List_Item_ExtIEs__extensionValue_PR_NOTHING /* No components present */
} SBcAP_TAI_Cancelled_List_Item_ExtIEs__extensionValue_PR;
typedef enum SBcAP_TAI_Cancelled_List_5GS_ExtIEs__extensionValue_PR {
SBcAP_TAI_Cancelled_List_5GS_ExtIEs__extensionValue_PR_NOTHING /* No components present */
} SBcAP_TAI_Cancelled_List_5GS_ExtIEs__extensionValue_PR;
typedef enum SBcAP_TAI_ExtIEs__extensionValue_PR {
SBcAP_TAI_ExtIEs__extensionValue_PR_NOTHING /* No components present */
} SBcAP_TAI_ExtIEs__extensionValue_PR;
typedef enum SBcAP_TAI_5GS_ExtIEs__extensionValue_PR {
SBcAP_TAI_5GS_ExtIEs__extensionValue_PR_NOTHING /* No components present */
} SBcAP_TAI_5GS_ExtIEs__extensionValue_PR;
typedef enum SBcAP_Write_Replace_Warning_Request_Extensions__extensionValue_PR {
SBcAP_Write_Replace_Warning_Request_Extensions__extensionValue_PR_NOTHING, /* No components present */
SBcAP_Write_Replace_Warning_Request_Extensions__extensionValue_PR_List_of_5GS_TAIs,
SBcAP_Write_Replace_Warning_Request_Extensions__extensionValue_PR_Warning_Area_List_5GS,
SBcAP_Write_Replace_Warning_Request_Extensions__extensionValue_PR_Global_RAN_Node_ID,
SBcAP_Write_Replace_Warning_Request_Extensions__extensionValue_PR_RAT_Selector_5GS
} SBcAP_Write_Replace_Warning_Request_Extensions__extensionValue_PR;
typedef enum SBcAP_Write_Replace_Warning_Response_Extensions__extensionValue_PR {
SBcAP_Write_Replace_Warning_Response_Extensions__extensionValue_PR_NOTHING, /* No components present */
SBcAP_Write_Replace_Warning_Response_Extensions__extensionValue_PR_Unknown_5GS_Tracking_Area_List
} SBcAP_Write_Replace_Warning_Response_Extensions__extensionValue_PR;
typedef enum SBcAP_Stop_Warning_Request_Extensions__extensionValue_PR {
SBcAP_Stop_Warning_Request_Extensions__extensionValue_PR_NOTHING, /* No components present */
SBcAP_Stop_Warning_Request_Extensions__extensionValue_PR_List_of_5GS_TAIs,
SBcAP_Stop_Warning_Request_Extensions__extensionValue_PR_Warning_Area_List_5GS,
SBcAP_Stop_Warning_Request_Extensions__extensionValue_PR_RAT_Selector_5GS
} SBcAP_Stop_Warning_Request_Extensions__extensionValue_PR;
typedef enum SBcAP_Stop_Warning_Response_Extensions__extensionValue_PR {
SBcAP_Stop_Warning_Response_Extensions__extensionValue_PR_NOTHING, /* No components present */
SBcAP_Stop_Warning_Response_Extensions__extensionValue_PR_Unknown_5GS_Tracking_Area_List
} SBcAP_Stop_Warning_Response_Extensions__extensionValue_PR;
typedef enum SBcAP_Write_Replace_Warning_Indication_Extensions__extensionValue_PR {
SBcAP_Write_Replace_Warning_Indication_Extensions__extensionValue_PR_NOTHING, /* No components present */
SBcAP_Write_Replace_Warning_Indication_Extensions__extensionValue_PR_Broadcast_Scheduled_Area_List_5GS
} SBcAP_Write_Replace_Warning_Indication_Extensions__extensionValue_PR;
typedef enum SBcAP_Stop_Warning_Indication_Extensions__extensionValue_PR {
SBcAP_Stop_Warning_Indication_Extensions__extensionValue_PR_NOTHING, /* No components present */
SBcAP_Stop_Warning_Indication_Extensions__extensionValue_PR_Broadcast_Cancelled_Area_List_5GS,
SBcAP_Stop_Warning_Indication_Extensions__extensionValue_PR_Broadcast_Empty_Area_List_5GS
} SBcAP_Stop_Warning_Indication_Extensions__extensionValue_PR;
typedef enum SBcAP_PWS_Restart_Indication_Extensions__extensionValue_PR {
SBcAP_PWS_Restart_Indication_Extensions__extensionValue_PR_NOTHING, /* No components present */
SBcAP_PWS_Restart_Indication_Extensions__extensionValue_PR_Restarted_Cell_List_NR,
SBcAP_PWS_Restart_Indication_Extensions__extensionValue_PR_List_of_5GS_TAI_for_Restart,
SBcAP_PWS_Restart_Indication_Extensions__extensionValue_PR_Global_GNB_ID
} SBcAP_PWS_Restart_Indication_Extensions__extensionValue_PR;
typedef enum SBcAP_PWS_Failure_Indication_Extensions__extensionValue_PR {
SBcAP_PWS_Failure_Indication_Extensions__extensionValue_PR_NOTHING, /* No components present */
SBcAP_PWS_Failure_Indication_Extensions__extensionValue_PR_Failed_Cell_List_NR,
SBcAP_PWS_Failure_Indication_Extensions__extensionValue_PR_Global_GNB_ID
} SBcAP_PWS_Failure_Indication_Extensions__extensionValue_PR;
/* SBcAP_ProtocolExtensionField */
typedef struct SBcAP_Broadcast_Scheduled_Area_List_ExtIEs {
SBcAP_ProtocolExtensionID_t id;
SBcAP_Criticality_t criticality;
struct SBcAP_Broadcast_Scheduled_Area_List_ExtIEs__extensionValue {
SBcAP_Broadcast_Scheduled_Area_List_ExtIEs__extensionValue_PR present;
union SBcAP_Broadcast_Scheduled_Area_List_ExtIEs__SBcAP_extensionValue_u {
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} extensionValue;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_Broadcast_Scheduled_Area_List_ExtIEs_t;
typedef struct SBcAP_Broadcast_Scheduled_Area_List_5GS_ExtIEs {
SBcAP_ProtocolExtensionID_t id;
SBcAP_Criticality_t criticality;
struct SBcAP_Broadcast_Scheduled_Area_List_5GS_ExtIEs__extensionValue {
SBcAP_Broadcast_Scheduled_Area_List_5GS_ExtIEs__extensionValue_PR present;
union SBcAP_Broadcast_Scheduled_Area_List_5GS_ExtIEs__SBcAP_extensionValue_u {
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} extensionValue;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_Broadcast_Scheduled_Area_List_5GS_ExtIEs_t;
typedef struct SBcAP_Broadcast_Cancelled_Area_List_ExtIEs {
SBcAP_ProtocolExtensionID_t id;
SBcAP_Criticality_t criticality;
struct SBcAP_Broadcast_Cancelled_Area_List_ExtIEs__extensionValue {
SBcAP_Broadcast_Cancelled_Area_List_ExtIEs__extensionValue_PR present;
union SBcAP_Broadcast_Cancelled_Area_List_ExtIEs__SBcAP_extensionValue_u {
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} extensionValue;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_Broadcast_Cancelled_Area_List_ExtIEs_t;
typedef struct SBcAP_Broadcast_Cancelled_Area_List_5GS_ExtIEs {
SBcAP_ProtocolExtensionID_t id;
SBcAP_Criticality_t criticality;
struct SBcAP_Broadcast_Cancelled_Area_List_5GS_ExtIEs__extensionValue {
SBcAP_Broadcast_Cancelled_Area_List_5GS_ExtIEs__extensionValue_PR present;
union SBcAP_Broadcast_Cancelled_Area_List_5GS_ExtIEs__SBcAP_extensionValue_u {
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} extensionValue;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_Broadcast_Cancelled_Area_List_5GS_ExtIEs_t;
typedef struct SBcAP_CancelledCellinEAI_Item_ExtIEs {
SBcAP_ProtocolExtensionID_t id;
SBcAP_Criticality_t criticality;
struct SBcAP_CancelledCellinEAI_Item_ExtIEs__extensionValue {
SBcAP_CancelledCellinEAI_Item_ExtIEs__extensionValue_PR present;
union SBcAP_CancelledCellinEAI_Item_ExtIEs__SBcAP_extensionValue_u {
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} extensionValue;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_CancelledCellinEAI_Item_ExtIEs_t;
typedef struct SBcAP_CancelledCellinTAI_Item_ExtIEs {
SBcAP_ProtocolExtensionID_t id;
SBcAP_Criticality_t criticality;
struct SBcAP_CancelledCellinTAI_Item_ExtIEs__extensionValue {
SBcAP_CancelledCellinTAI_Item_ExtIEs__extensionValue_PR present;
union SBcAP_CancelledCellinTAI_Item_ExtIEs__SBcAP_extensionValue_u {
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} extensionValue;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_CancelledCellinTAI_Item_ExtIEs_t;
typedef struct SBcAP_CancelledCellinTAI_5GS_ExtIEs {
SBcAP_ProtocolExtensionID_t id;
SBcAP_Criticality_t criticality;
struct SBcAP_CancelledCellinTAI_5GS_ExtIEs__extensionValue {
SBcAP_CancelledCellinTAI_5GS_ExtIEs__extensionValue_PR present;
union SBcAP_CancelledCellinTAI_5GS_ExtIEs__SBcAP_extensionValue_u {
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} extensionValue;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_CancelledCellinTAI_5GS_ExtIEs_t;
typedef struct SBcAP_CellId_Broadcast_List_Item_ExtIEs {
SBcAP_ProtocolExtensionID_t id;
SBcAP_Criticality_t criticality;
struct SBcAP_CellId_Broadcast_List_Item_ExtIEs__extensionValue {
SBcAP_CellId_Broadcast_List_Item_ExtIEs__extensionValue_PR present;
union SBcAP_CellId_Broadcast_List_Item_ExtIEs__SBcAP_extensionValue_u {
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} extensionValue;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_CellId_Broadcast_List_Item_ExtIEs_t;
typedef struct SBcAP_CellId_Broadcast_List_5GS_ExtIEs {
SBcAP_ProtocolExtensionID_t id;
SBcAP_Criticality_t criticality;
struct SBcAP_CellId_Broadcast_List_5GS_ExtIEs__extensionValue {
SBcAP_CellId_Broadcast_List_5GS_ExtIEs__extensionValue_PR present;
union SBcAP_CellId_Broadcast_List_5GS_ExtIEs__SBcAP_extensionValue_u {
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} extensionValue;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_CellId_Broadcast_List_5GS_ExtIEs_t;
typedef struct SBcAP_CellID_Cancelled_Item_ExtIEs {
SBcAP_ProtocolExtensionID_t id;
SBcAP_Criticality_t criticality;
struct SBcAP_CellID_Cancelled_Item_ExtIEs__extensionValue {
SBcAP_CellID_Cancelled_Item_ExtIEs__extensionValue_PR present;
union SBcAP_CellID_Cancelled_Item_ExtIEs__SBcAP_extensionValue_u {
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} extensionValue;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_CellID_Cancelled_Item_ExtIEs_t;
typedef struct SBcAP_CellID_Cancelled_5GS_ExtIEs {
SBcAP_ProtocolExtensionID_t id;
SBcAP_Criticality_t criticality;
struct SBcAP_CellID_Cancelled_5GS_ExtIEs__extensionValue {
SBcAP_CellID_Cancelled_5GS_ExtIEs__extensionValue_PR present;
union SBcAP_CellID_Cancelled_5GS_ExtIEs__SBcAP_extensionValue_u {
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} extensionValue;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_CellID_Cancelled_5GS_ExtIEs_t;
typedef struct SBcAP_CriticalityDiagnostics_ExtIEs {
SBcAP_ProtocolExtensionID_t id;
SBcAP_Criticality_t criticality;
struct SBcAP_CriticalityDiagnostics_ExtIEs__extensionValue {
SBcAP_CriticalityDiagnostics_ExtIEs__extensionValue_PR present;
union SBcAP_CriticalityDiagnostics_ExtIEs__SBcAP_extensionValue_u {
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} extensionValue;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_CriticalityDiagnostics_ExtIEs_t;
typedef struct SBcAP_CriticalityDiagnostics_IE_Item_ExtIEs {
SBcAP_ProtocolExtensionID_t id;
SBcAP_Criticality_t criticality;
struct SBcAP_CriticalityDiagnostics_IE_Item_ExtIEs__extensionValue {
SBcAP_CriticalityDiagnostics_IE_Item_ExtIEs__extensionValue_PR present;
union SBcAP_CriticalityDiagnostics_IE_Item_ExtIEs__SBcAP_extensionValue_u {
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} extensionValue;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_CriticalityDiagnostics_IE_Item_ExtIEs_t;
typedef struct SBcAP_EmergencyAreaID_Broadcast_List_Item_ExtIEs {
SBcAP_ProtocolExtensionID_t id;
SBcAP_Criticality_t criticality;
struct SBcAP_EmergencyAreaID_Broadcast_List_Item_ExtIEs__extensionValue {
SBcAP_EmergencyAreaID_Broadcast_List_Item_ExtIEs__extensionValue_PR present;
union SBcAP_EmergencyAreaID_Broadcast_List_Item_ExtIEs__SBcAP_extensionValue_u {
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} extensionValue;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_EmergencyAreaID_Broadcast_List_Item_ExtIEs_t;
typedef struct SBcAP_EmergencyAreaID_Cancelled_Item_ExtIEs {
SBcAP_ProtocolExtensionID_t id;
SBcAP_Criticality_t criticality;
struct SBcAP_EmergencyAreaID_Cancelled_Item_ExtIEs__extensionValue {
SBcAP_EmergencyAreaID_Cancelled_Item_ExtIEs__extensionValue_PR present;
union SBcAP_EmergencyAreaID_Cancelled_Item_ExtIEs__SBcAP_extensionValue_u {
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} extensionValue;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_EmergencyAreaID_Cancelled_Item_ExtIEs_t;
typedef struct SBcAP_EUTRAN_CGI_ExtIEs {
SBcAP_ProtocolExtensionID_t id;
SBcAP_Criticality_t criticality;
struct SBcAP_EUTRAN_CGI_ExtIEs__extensionValue {
SBcAP_EUTRAN_CGI_ExtIEs__extensionValue_PR present;
union SBcAP_EUTRAN_CGI_ExtIEs__SBcAP_extensionValue_u {
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} extensionValue;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_EUTRAN_CGI_ExtIEs_t;
typedef struct SBcAP_GlobalENB_ID_ExtIEs {
SBcAP_ProtocolExtensionID_t id;
SBcAP_Criticality_t criticality;
struct SBcAP_GlobalENB_ID_ExtIEs__extensionValue {
SBcAP_GlobalENB_ID_ExtIEs__extensionValue_PR present;
union SBcAP_GlobalENB_ID_ExtIEs__SBcAP_extensionValue_u {
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} extensionValue;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_GlobalENB_ID_ExtIEs_t;
typedef struct SBcAP_Global_GNB_ID_ExtIEs {
SBcAP_ProtocolExtensionID_t id;
SBcAP_Criticality_t criticality;
struct SBcAP_Global_GNB_ID_ExtIEs__extensionValue {
SBcAP_Global_GNB_ID_ExtIEs__extensionValue_PR present;
union SBcAP_Global_GNB_ID_ExtIEs__SBcAP_extensionValue_u {
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} extensionValue;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_Global_GNB_ID_ExtIEs_t;
typedef struct SBcAP_Global_NgENB_ID_ExtIEs {
SBcAP_ProtocolExtensionID_t id;
SBcAP_Criticality_t criticality;
struct SBcAP_Global_NgENB_ID_ExtIEs__extensionValue {
SBcAP_Global_NgENB_ID_ExtIEs__extensionValue_PR present;
union SBcAP_Global_NgENB_ID_ExtIEs__SBcAP_extensionValue_u {
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} extensionValue;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_Global_NgENB_ID_ExtIEs_t;
typedef struct SBcAP_NR_CGI_ExtIEs {
SBcAP_ProtocolExtensionID_t id;
SBcAP_Criticality_t criticality;
struct SBcAP_NR_CGI_ExtIEs__extensionValue {
SBcAP_NR_CGI_ExtIEs__extensionValue_PR present;
union SBcAP_NR_CGI_ExtIEs__SBcAP_extensionValue_u {
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} extensionValue;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_NR_CGI_ExtIEs_t;
typedef struct SBcAP_ScheduledCellinEAI_Item_ExtIEs {
SBcAP_ProtocolExtensionID_t id;
SBcAP_Criticality_t criticality;
struct SBcAP_ScheduledCellinEAI_Item_ExtIEs__extensionValue {
SBcAP_ScheduledCellinEAI_Item_ExtIEs__extensionValue_PR present;
union SBcAP_ScheduledCellinEAI_Item_ExtIEs__SBcAP_extensionValue_u {
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} extensionValue;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_ScheduledCellinEAI_Item_ExtIEs_t;
typedef struct SBcAP_ScheduledCellinTAI_Item_ExtIEs {
SBcAP_ProtocolExtensionID_t id;
SBcAP_Criticality_t criticality;
struct SBcAP_ScheduledCellinTAI_Item_ExtIEs__extensionValue {
SBcAP_ScheduledCellinTAI_Item_ExtIEs__extensionValue_PR present;
union SBcAP_ScheduledCellinTAI_Item_ExtIEs__SBcAP_extensionValue_u {
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} extensionValue;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_ScheduledCellinTAI_Item_ExtIEs_t;
typedef struct SBcAP_ScheduledCellinTAI_5GS_ExtIEs {
SBcAP_ProtocolExtensionID_t id;
SBcAP_Criticality_t criticality;
struct SBcAP_ScheduledCellinTAI_5GS_ExtIEs__extensionValue {
SBcAP_ScheduledCellinTAI_5GS_ExtIEs__extensionValue_PR present;
union SBcAP_ScheduledCellinTAI_5GS_ExtIEs__SBcAP_extensionValue_u {
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} extensionValue;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_ScheduledCellinTAI_5GS_ExtIEs_t;
typedef struct SBcAP_TAI_Broadcast_List_Item_ExtIEs {
SBcAP_ProtocolExtensionID_t id;
SBcAP_Criticality_t criticality;
struct SBcAP_TAI_Broadcast_List_Item_ExtIEs__extensionValue {
SBcAP_TAI_Broadcast_List_Item_ExtIEs__extensionValue_PR present;
union SBcAP_TAI_Broadcast_List_Item_ExtIEs__SBcAP_extensionValue_u {
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} extensionValue;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_TAI_Broadcast_List_Item_ExtIEs_t;
typedef struct SBcAP_TAI_Broadcast_List_5GS_ExtIEs {
SBcAP_ProtocolExtensionID_t id;
SBcAP_Criticality_t criticality;
struct SBcAP_TAI_Broadcast_List_5GS_ExtIEs__extensionValue {
SBcAP_TAI_Broadcast_List_5GS_ExtIEs__extensionValue_PR present;
union SBcAP_TAI_Broadcast_List_5GS_ExtIEs__SBcAP_extensionValue_u {
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} extensionValue;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_TAI_Broadcast_List_5GS_ExtIEs_t;
typedef struct SBcAP_TAI_Cancelled_List_Item_ExtIEs {
SBcAP_ProtocolExtensionID_t id;
SBcAP_Criticality_t criticality;
struct SBcAP_TAI_Cancelled_List_Item_ExtIEs__extensionValue {
SBcAP_TAI_Cancelled_List_Item_ExtIEs__extensionValue_PR present;
union SBcAP_TAI_Cancelled_List_Item_ExtIEs__SBcAP_extensionValue_u {
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} extensionValue;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_TAI_Cancelled_List_Item_ExtIEs_t;
typedef struct SBcAP_TAI_Cancelled_List_5GS_ExtIEs {
SBcAP_ProtocolExtensionID_t id;
SBcAP_Criticality_t criticality;
struct SBcAP_TAI_Cancelled_List_5GS_ExtIEs__extensionValue {
SBcAP_TAI_Cancelled_List_5GS_ExtIEs__extensionValue_PR present;
union SBcAP_TAI_Cancelled_List_5GS_ExtIEs__SBcAP_extensionValue_u {
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} extensionValue;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_TAI_Cancelled_List_5GS_ExtIEs_t;
typedef struct SBcAP_TAI_ExtIEs {
SBcAP_ProtocolExtensionID_t id;
SBcAP_Criticality_t criticality;
struct SBcAP_TAI_ExtIEs__extensionValue {
SBcAP_TAI_ExtIEs__extensionValue_PR present;
union SBcAP_TAI_ExtIEs__SBcAP_extensionValue_u {
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} extensionValue;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_TAI_ExtIEs_t;
typedef struct SBcAP_TAI_5GS_ExtIEs {
SBcAP_ProtocolExtensionID_t id;
SBcAP_Criticality_t criticality;
struct SBcAP_TAI_5GS_ExtIEs__extensionValue {
SBcAP_TAI_5GS_ExtIEs__extensionValue_PR present;
union SBcAP_TAI_5GS_ExtIEs__SBcAP_extensionValue_u {
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} extensionValue;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_TAI_5GS_ExtIEs_t;
typedef struct SBcAP_Write_Replace_Warning_Request_Extensions {
SBcAP_ProtocolExtensionID_t id;
SBcAP_Criticality_t criticality;
struct SBcAP_Write_Replace_Warning_Request_Extensions__extensionValue {
SBcAP_Write_Replace_Warning_Request_Extensions__extensionValue_PR present;
union SBcAP_Write_Replace_Warning_Request_Extensions__SBcAP_extensionValue_u {
SBcAP_List_of_5GS_TAIs_t List_of_5GS_TAIs;
SBcAP_Warning_Area_List_5GS_t Warning_Area_List_5GS;
SBcAP_Global_RAN_Node_ID_t Global_RAN_Node_ID;
SBcAP_RAT_Selector_5GS_t RAT_Selector_5GS;
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} extensionValue;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_Write_Replace_Warning_Request_Extensions_t;
typedef struct SBcAP_Write_Replace_Warning_Response_Extensions {
SBcAP_ProtocolExtensionID_t id;
SBcAP_Criticality_t criticality;
struct SBcAP_Write_Replace_Warning_Response_Extensions__extensionValue {
SBcAP_Write_Replace_Warning_Response_Extensions__extensionValue_PR present;
union SBcAP_Write_Replace_Warning_Response_Extensions__SBcAP_extensionValue_u {
SBcAP_Unknown_5GS_Tracking_Area_List_t Unknown_5GS_Tracking_Area_List;
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} extensionValue;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_Write_Replace_Warning_Response_Extensions_t;
typedef struct SBcAP_Stop_Warning_Request_Extensions {
SBcAP_ProtocolExtensionID_t id;
SBcAP_Criticality_t criticality;
struct SBcAP_Stop_Warning_Request_Extensions__extensionValue {
SBcAP_Stop_Warning_Request_Extensions__extensionValue_PR present;
union SBcAP_Stop_Warning_Request_Extensions__SBcAP_extensionValue_u {
SBcAP_List_of_5GS_TAIs_t List_of_5GS_TAIs;
SBcAP_Warning_Area_List_5GS_t Warning_Area_List_5GS;
SBcAP_RAT_Selector_5GS_t RAT_Selector_5GS;
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} extensionValue;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_Stop_Warning_Request_Extensions_t;
typedef struct SBcAP_Stop_Warning_Response_Extensions {
SBcAP_ProtocolExtensionID_t id;
SBcAP_Criticality_t criticality;
struct SBcAP_Stop_Warning_Response_Extensions__extensionValue {
SBcAP_Stop_Warning_Response_Extensions__extensionValue_PR present;
union SBcAP_Stop_Warning_Response_Extensions__SBcAP_extensionValue_u {
SBcAP_Unknown_5GS_Tracking_Area_List_t Unknown_5GS_Tracking_Area_List;
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} extensionValue;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_Stop_Warning_Response_Extensions_t;
typedef struct SBcAP_Write_Replace_Warning_Indication_Extensions {
SBcAP_ProtocolExtensionID_t id;
SBcAP_Criticality_t criticality;
struct SBcAP_Write_Replace_Warning_Indication_Extensions__extensionValue {
SBcAP_Write_Replace_Warning_Indication_Extensions__extensionValue_PR present;
union SBcAP_Write_Replace_Warning_Indication_Extensions__SBcAP_extensionValue_u {
SBcAP_Broadcast_Scheduled_Area_List_5GS_t Broadcast_Scheduled_Area_List_5GS;
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} extensionValue;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_Write_Replace_Warning_Indication_Extensions_t;
typedef struct SBcAP_Stop_Warning_Indication_Extensions {
SBcAP_ProtocolExtensionID_t id;
SBcAP_Criticality_t criticality;
struct SBcAP_Stop_Warning_Indication_Extensions__extensionValue {
SBcAP_Stop_Warning_Indication_Extensions__extensionValue_PR present;
union SBcAP_Stop_Warning_Indication_Extensions__SBcAP_extensionValue_u {
SBcAP_Broadcast_Cancelled_Area_List_5GS_t Broadcast_Cancelled_Area_List_5GS;
SBcAP_Broadcast_Empty_Area_List_5GS_t Broadcast_Empty_Area_List_5GS;
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} extensionValue;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_Stop_Warning_Indication_Extensions_t;
typedef struct SBcAP_PWS_Restart_Indication_Extensions {
SBcAP_ProtocolExtensionID_t id;
SBcAP_Criticality_t criticality;
struct SBcAP_PWS_Restart_Indication_Extensions__extensionValue {
SBcAP_PWS_Restart_Indication_Extensions__extensionValue_PR present;
union SBcAP_PWS_Restart_Indication_Extensions__SBcAP_extensionValue_u {
SBcAP_Restarted_Cell_List_NR_t Restarted_Cell_List_NR;
SBcAP_List_of_5GS_TAI_for_Restart_t List_of_5GS_TAI_for_Restart;
SBcAP_Global_GNB_ID_t Global_GNB_ID;
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} extensionValue;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_PWS_Restart_Indication_Extensions_t;
typedef struct SBcAP_PWS_Failure_Indication_Extensions {
SBcAP_ProtocolExtensionID_t id;
SBcAP_Criticality_t criticality;
struct SBcAP_PWS_Failure_Indication_Extensions__extensionValue {
SBcAP_PWS_Failure_Indication_Extensions__extensionValue_PR present;
union SBcAP_PWS_Failure_Indication_Extensions__SBcAP_extensionValue_u {
SBcAP_Failed_Cell_List_NR_t Failed_Cell_List_NR;
SBcAP_Global_GNB_ID_t Global_GNB_ID;
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} extensionValue;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} SBcAP_PWS_Failure_Indication_Extensions_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_Broadcast_Scheduled_Area_List_ExtIEs;
extern asn_SEQUENCE_specifics_t asn_SPC_SBcAP_Broadcast_Scheduled_Area_List_ExtIEs_specs_1;
extern asn_TYPE_member_t asn_MBR_SBcAP_Broadcast_Scheduled_Area_List_ExtIEs_1[3];
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_Broadcast_Scheduled_Area_List_5GS_ExtIEs;
extern asn_SEQUENCE_specifics_t asn_SPC_SBcAP_Broadcast_Scheduled_Area_List_5GS_ExtIEs_specs_5;
extern asn_TYPE_member_t asn_MBR_SBcAP_Broadcast_Scheduled_Area_List_5GS_ExtIEs_5[3];
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_Broadcast_Cancelled_Area_List_ExtIEs;
extern asn_SEQUENCE_specifics_t asn_SPC_SBcAP_Broadcast_Cancelled_Area_List_ExtIEs_specs_9;
extern asn_TYPE_member_t asn_MBR_SBcAP_Broadcast_Cancelled_Area_List_ExtIEs_9[3];
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_Broadcast_Cancelled_Area_List_5GS_ExtIEs;
extern asn_SEQUENCE_specifics_t asn_SPC_SBcAP_Broadcast_Cancelled_Area_List_5GS_ExtIEs_specs_13;
extern asn_TYPE_member_t asn_MBR_SBcAP_Broadcast_Cancelled_Area_List_5GS_ExtIEs_13[3];
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_CancelledCellinEAI_Item_ExtIEs;
extern asn_SEQUENCE_specifics_t asn_SPC_SBcAP_CancelledCellinEAI_Item_ExtIEs_specs_17;
extern asn_TYPE_member_t asn_MBR_SBcAP_CancelledCellinEAI_Item_ExtIEs_17[3];
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_CancelledCellinTAI_Item_ExtIEs;
extern asn_SEQUENCE_specifics_t asn_SPC_SBcAP_CancelledCellinTAI_Item_ExtIEs_specs_21;
extern asn_TYPE_member_t asn_MBR_SBcAP_CancelledCellinTAI_Item_ExtIEs_21[3];
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_CancelledCellinTAI_5GS_ExtIEs;
extern asn_SEQUENCE_specifics_t asn_SPC_SBcAP_CancelledCellinTAI_5GS_ExtIEs_specs_25;
extern asn_TYPE_member_t asn_MBR_SBcAP_CancelledCellinTAI_5GS_ExtIEs_25[3];
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_CellId_Broadcast_List_Item_ExtIEs;
extern asn_SEQUENCE_specifics_t asn_SPC_SBcAP_CellId_Broadcast_List_Item_ExtIEs_specs_29;
extern asn_TYPE_member_t asn_MBR_SBcAP_CellId_Broadcast_List_Item_ExtIEs_29[3];
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_CellId_Broadcast_List_5GS_ExtIEs;
extern asn_SEQUENCE_specifics_t asn_SPC_SBcAP_CellId_Broadcast_List_5GS_ExtIEs_specs_33;
extern asn_TYPE_member_t asn_MBR_SBcAP_CellId_Broadcast_List_5GS_ExtIEs_33[3];
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_CellID_Cancelled_Item_ExtIEs;
extern asn_SEQUENCE_specifics_t asn_SPC_SBcAP_CellID_Cancelled_Item_ExtIEs_specs_37;
extern asn_TYPE_member_t asn_MBR_SBcAP_CellID_Cancelled_Item_ExtIEs_37[3];
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_CellID_Cancelled_5GS_ExtIEs;
extern asn_SEQUENCE_specifics_t asn_SPC_SBcAP_CellID_Cancelled_5GS_ExtIEs_specs_41;
extern asn_TYPE_member_t asn_MBR_SBcAP_CellID_Cancelled_5GS_ExtIEs_41[3];
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_CriticalityDiagnostics_ExtIEs;
extern asn_SEQUENCE_specifics_t asn_SPC_SBcAP_CriticalityDiagnostics_ExtIEs_specs_45;
extern asn_TYPE_member_t asn_MBR_SBcAP_CriticalityDiagnostics_ExtIEs_45[3];
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_CriticalityDiagnostics_IE_Item_ExtIEs;
extern asn_SEQUENCE_specifics_t asn_SPC_SBcAP_CriticalityDiagnostics_IE_Item_ExtIEs_specs_49;
extern asn_TYPE_member_t asn_MBR_SBcAP_CriticalityDiagnostics_IE_Item_ExtIEs_49[3];
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_EmergencyAreaID_Broadcast_List_Item_ExtIEs;
extern asn_SEQUENCE_specifics_t asn_SPC_SBcAP_EmergencyAreaID_Broadcast_List_Item_ExtIEs_specs_53;
extern asn_TYPE_member_t asn_MBR_SBcAP_EmergencyAreaID_Broadcast_List_Item_ExtIEs_53[3];
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_EmergencyAreaID_Cancelled_Item_ExtIEs;
extern asn_SEQUENCE_specifics_t asn_SPC_SBcAP_EmergencyAreaID_Cancelled_Item_ExtIEs_specs_57;
extern asn_TYPE_member_t asn_MBR_SBcAP_EmergencyAreaID_Cancelled_Item_ExtIEs_57[3];
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_EUTRAN_CGI_ExtIEs;
extern asn_SEQUENCE_specifics_t asn_SPC_SBcAP_EUTRAN_CGI_ExtIEs_specs_61;
extern asn_TYPE_member_t asn_MBR_SBcAP_EUTRAN_CGI_ExtIEs_61[3];
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_GlobalENB_ID_ExtIEs;
extern asn_SEQUENCE_specifics_t asn_SPC_SBcAP_GlobalENB_ID_ExtIEs_specs_65;
extern asn_TYPE_member_t asn_MBR_SBcAP_GlobalENB_ID_ExtIEs_65[3];
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_Global_GNB_ID_ExtIEs;
extern asn_SEQUENCE_specifics_t asn_SPC_SBcAP_Global_GNB_ID_ExtIEs_specs_69;
extern asn_TYPE_member_t asn_MBR_SBcAP_Global_GNB_ID_ExtIEs_69[3];
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_Global_NgENB_ID_ExtIEs;
extern asn_SEQUENCE_specifics_t asn_SPC_SBcAP_Global_NgENB_ID_ExtIEs_specs_73;
extern asn_TYPE_member_t asn_MBR_SBcAP_Global_NgENB_ID_ExtIEs_73[3];
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_NR_CGI_ExtIEs;
extern asn_SEQUENCE_specifics_t asn_SPC_SBcAP_NR_CGI_ExtIEs_specs_77;
extern asn_TYPE_member_t asn_MBR_SBcAP_NR_CGI_ExtIEs_77[3];
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_ScheduledCellinEAI_Item_ExtIEs;
extern asn_SEQUENCE_specifics_t asn_SPC_SBcAP_ScheduledCellinEAI_Item_ExtIEs_specs_81;
extern asn_TYPE_member_t asn_MBR_SBcAP_ScheduledCellinEAI_Item_ExtIEs_81[3];
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_ScheduledCellinTAI_Item_ExtIEs;
extern asn_SEQUENCE_specifics_t asn_SPC_SBcAP_ScheduledCellinTAI_Item_ExtIEs_specs_85;
extern asn_TYPE_member_t asn_MBR_SBcAP_ScheduledCellinTAI_Item_ExtIEs_85[3];
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_ScheduledCellinTAI_5GS_ExtIEs;
extern asn_SEQUENCE_specifics_t asn_SPC_SBcAP_ScheduledCellinTAI_5GS_ExtIEs_specs_89;
extern asn_TYPE_member_t asn_MBR_SBcAP_ScheduledCellinTAI_5GS_ExtIEs_89[3];
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_TAI_Broadcast_List_Item_ExtIEs;
extern asn_SEQUENCE_specifics_t asn_SPC_SBcAP_TAI_Broadcast_List_Item_ExtIEs_specs_93;
extern asn_TYPE_member_t asn_MBR_SBcAP_TAI_Broadcast_List_Item_ExtIEs_93[3];
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_TAI_Broadcast_List_5GS_ExtIEs;
extern asn_SEQUENCE_specifics_t asn_SPC_SBcAP_TAI_Broadcast_List_5GS_ExtIEs_specs_97;
extern asn_TYPE_member_t asn_MBR_SBcAP_TAI_Broadcast_List_5GS_ExtIEs_97[3];
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_TAI_Cancelled_List_Item_ExtIEs;
extern asn_SEQUENCE_specifics_t asn_SPC_SBcAP_TAI_Cancelled_List_Item_ExtIEs_specs_101;
extern asn_TYPE_member_t asn_MBR_SBcAP_TAI_Cancelled_List_Item_ExtIEs_101[3];
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_TAI_Cancelled_List_5GS_ExtIEs;
extern asn_SEQUENCE_specifics_t asn_SPC_SBcAP_TAI_Cancelled_List_5GS_ExtIEs_specs_105;
extern asn_TYPE_member_t asn_MBR_SBcAP_TAI_Cancelled_List_5GS_ExtIEs_105[3];
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_TAI_ExtIEs;
extern asn_SEQUENCE_specifics_t asn_SPC_SBcAP_TAI_ExtIEs_specs_109;
extern asn_TYPE_member_t asn_MBR_SBcAP_TAI_ExtIEs_109[3];
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_TAI_5GS_ExtIEs;
extern asn_SEQUENCE_specifics_t asn_SPC_SBcAP_TAI_5GS_ExtIEs_specs_113;
extern asn_TYPE_member_t asn_MBR_SBcAP_TAI_5GS_ExtIEs_113[3];
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_Write_Replace_Warning_Request_Extensions;
extern asn_SEQUENCE_specifics_t asn_SPC_SBcAP_Write_Replace_Warning_Request_Extensions_specs_117;
extern asn_TYPE_member_t asn_MBR_SBcAP_Write_Replace_Warning_Request_Extensions_117[3];
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_Write_Replace_Warning_Response_Extensions;
extern asn_SEQUENCE_specifics_t asn_SPC_SBcAP_Write_Replace_Warning_Response_Extensions_specs_121;
extern asn_TYPE_member_t asn_MBR_SBcAP_Write_Replace_Warning_Response_Extensions_121[3];
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_Stop_Warning_Request_Extensions;
extern asn_SEQUENCE_specifics_t asn_SPC_SBcAP_Stop_Warning_Request_Extensions_specs_125;
extern asn_TYPE_member_t asn_MBR_SBcAP_Stop_Warning_Request_Extensions_125[3];
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_Stop_Warning_Response_Extensions;
extern asn_SEQUENCE_specifics_t asn_SPC_SBcAP_Stop_Warning_Response_Extensions_specs_129;
extern asn_TYPE_member_t asn_MBR_SBcAP_Stop_Warning_Response_Extensions_129[3];
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_Write_Replace_Warning_Indication_Extensions;
extern asn_SEQUENCE_specifics_t asn_SPC_SBcAP_Write_Replace_Warning_Indication_Extensions_specs_133;
extern asn_TYPE_member_t asn_MBR_SBcAP_Write_Replace_Warning_Indication_Extensions_133[3];
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_Stop_Warning_Indication_Extensions;
extern asn_SEQUENCE_specifics_t asn_SPC_SBcAP_Stop_Warning_Indication_Extensions_specs_137;
extern asn_TYPE_member_t asn_MBR_SBcAP_Stop_Warning_Indication_Extensions_137[3];
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_PWS_Restart_Indication_Extensions;
extern asn_SEQUENCE_specifics_t asn_SPC_SBcAP_PWS_Restart_Indication_Extensions_specs_141;
extern asn_TYPE_member_t asn_MBR_SBcAP_PWS_Restart_Indication_Extensions_141[3];
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_PWS_Failure_Indication_Extensions;
extern asn_SEQUENCE_specifics_t asn_SPC_SBcAP_PWS_Failure_Indication_Extensions_specs_145;
extern asn_TYPE_member_t asn_MBR_SBcAP_PWS_Failure_Indication_Extensions_145[3];
#ifdef __cplusplus
}
#endif
#endif /* _SBcAP_ProtocolExtensionField_H_ */
#include <asn_internal.h>

View File

@@ -0,0 +1,38 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "SBC-AP-CommonDataTypes"
* found in "../../src/sbcap/asn1/SBC_AP_CommonDataTypes.asn"
* `asn1c -S /home/pespin/dev/sysmocom/build/new/out/share/asn1c -fcompound-names -gen-APER -no-gen-BER -no-gen-XER -no-gen-JER -no-gen-OER -no-gen-UPER -no-gen-example`
*/
#ifndef _SBcAP_ProtocolExtensionID_H_
#define _SBcAP_ProtocolExtensionID_H_
#include <asn_application.h>
/* Including external dependencies */
#include <NativeInteger.h>
#ifdef __cplusplus
extern "C" {
#endif
/* SBcAP_ProtocolExtensionID */
typedef long SBcAP_ProtocolExtensionID_t;
/* Implementation */
extern asn_per_constraints_t asn_PER_type_SBcAP_ProtocolExtensionID_constr_1;
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_ProtocolExtensionID;
asn_struct_free_f SBcAP_ProtocolExtensionID_free;
asn_struct_print_f SBcAP_ProtocolExtensionID_print;
asn_constr_check_f SBcAP_ProtocolExtensionID_constraint;
per_type_decoder_f SBcAP_ProtocolExtensionID_decode_aper;
per_type_encoder_f SBcAP_ProtocolExtensionID_encode_aper;
#ifdef __cplusplus
}
#endif
#endif /* _SBcAP_ProtocolExtensionID_H_ */
#include <asn_internal.h>

Some files were not shown because too many files have changed in this diff Show More